JavaScriptでラッピングして配列をスライスする方法
たとえば、defaultArray.prototype.slice()を上書きする配列メソッドを作成する必要があるとします。通常、Array.prototype.slice()メソッドは、開始インデックスと終了インデックスの2つの引数を取り、インデックスの開始から終了-1までの元の配列のサブ配列を返します。
このslice()関数を次のように作成して、end-1ではなくインデックスの開始から終了までサブ配列を返すようにします。したがって、これを行うためのコードを以下に示します。forループを使用して配列を反復処理します。これは、実際には、どの配列メソッドよりも高速です。次に、必要なサブ配列を返します。最後に、Array.prototype.slice()を先ほど記述したメソッドで上書きします-
例
const arr = [5, 5, 34, 43, 43, 76, 78, 3, 23, 1, 65, 87, 9]; const slice = function(start = 0, end = this.length-1){ const part = []; for(let i = start; i <= end; i++){ part.push(this[i]); }; return part; }; Array.prototype.slice = slice; console.log(arr.slice(0, 4)); console.log(arr.slice(5, 8)); console.log(arr.slice());
出力
コンソールの出力は-
になります[ 5, 5, 34, 43, 43 ] [ 76, 78, 3, 23 ] [ 5, 5, 34, 43, 43, 76, 78, 3, 23, 1, 65, 87, 9 ]
-
JavaScriptオブジェクトが配列であるかどうかを確認するにはどうすればよいですか?例を挙げて説明します。
JavaScript Array.isArray()メソッドは、JavaScriptオブジェクトが配列であるかどうか、および返されるブール値に基づいていないかどうかを確認するために使用されます。 以下は、JavaScriptオブジェクトが配列であるかどうかを確認するためのコードです- 例 <!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8" /> <meta name="viewport" content=&
-
JavaScriptを使用して同じ配列内の配列の要素を複製するにはどうすればよいですか?
以下は、同じ配列内の配列の要素を複製するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" > <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> &nbs