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 ]