1. 配列を 2 つの等しい部分に分割します。
次の 2 つの手順で配列を半分に分割できます。
length/2 と Math.ceil() メソッドを使用して、配列の中間インデックスを見つけます。
中間インデックスと Array.splice() メソッドを使用して、配列の均等に分割された部分を取得します
Math.ceil() 関数は、指定された数値以上の最小の整数を返します。
|
Array.splice() メソッドは、要素を削除、置換、または追加することによって配列の内容を変更します。Array.slice() メソッドは、操作する前にまず配列のコピーを作成します。
- list.splice(0, middleIndex) は、配列のインデックス 0 から最初の 3 つの要素を削除して返します。
- splice(-middleIndex) は、配列から最後の 3 つの要素を削除して返します。
これら 2 つの操作が終了すると、配列からすべての要素が削除されたため、元の配列は空になります。
また、上記の場合、要素の数は偶数ですが、要素の数が奇数の場合、前半に余分な要素が含まれることにも注意してください。
|
2.Array.slice と Array.splice
元の配列を変更したくない場合がありますが、これは Array.slice() で解決できます。
|
Array.slice() で要素を削除する前に、 Array.slice() を使用して元の配列のコピーを作成したため、元の配列は変更されていないことがわかります。
3. 配列を 3 つに分割します
|
上記で行われたことを簡単に説明します。
- まず st.splice(-threePartIndex) を使用して ThirdPart を抽出します。これにより、最後の 3 つの要素 [7, 8, 9] が削除され、リストには最初の 6 つの要素 [1, 2, 3, 4, 5, 6] のみが含まれます。
- 次に、list.splice(-threePartIndex) を使用して 2 番目の部分が抽出され、残りのリスト = [1, 2, 3, 4, 5, 6] (すなわち [4, 5, 6]) 要素から最後の 3 が削除されます。の場合、リストには最初の 3 つの要素 [1、2、3]、つまり firstPart のみが含まれます。
4. Array.splice() のその他の使用法
それでは、Array.splice() の使用法をさらに見てみましょう。ここでは、元の配列を変更したくないため、Array.slice() を使用します。元の配列を変更したい場合は、削除できます。
1 | const list = [1, 2, 3, 4, 5, 6, 7, 8, 9]; |
配列の最初の要素を取得します
1 | list.slice().splice(0, 1) // [1] |
获取数组的前5个元素
1 | list.slice().splice(0, 5) // [1, 2, 3, 4, 5] |
获取数组前5个元素之后的所有元素
1 | list.slice().splice(5) // 6, 7, 8, 9] |
获取数组的最后一个元素
1 | list.slice().splice(-1) // [9] |
获取数组的最后三个元素
1 | list.slice().splice(-3) // [7, 8, 9] |