JavaScript: slice() サブ配列(スライス)を返す

JavaScriptで配列のサブ配列(スライス)を返す場合はslice()メソッドを使います。

Array.slice(引数1,引数2)

引数1で指定された要素から、引数2で指定された要素(この要素自身は含まれない)までが返されます。 なお、slice()メソッドが呼び出された配列自体は変更されません。

次のプログラムで具体的に見ていきます。 引数2の要素自身は含まれないことに注意してください。

var arr = [0,1,2,3,4,5];

console.log(arr.slice(0,3));   // Array [ 0, 1, 2 ]
console.log(arr.slice(1,4));   // Array [ 1, 2, 3 ]

引数2が省略された場合は最後までが返されます。

var arr = [0,1,2,3,4,5];

console.log(arr.slice(1));   // Array [ 1, 2, 3, 4, 5 ]

引数が負数の場合は、最後からの相対位置となります。 例えば-1は最後、-2は最後から2番目となります。

負数の例は以下のようになります。 要素数が6ですから、 arr.slice(1, -2)はarr.slice(1, 4)と同じ結果になります。

var arr = [0,1,2,3,4,5];

console.log(arr.slice(1, -2));   // Array [ 1, 2, 3 ]
JavaScript入門