配列の一部を取り出す - slice
《 初回公開:2023/10/19 , 最終更新:未 》
sliceメソッドは、配列の一部を新しい配列として切り出(シャローコピー)して返す、元の配列は変更されない。
- 構文
- array.slice([start[, end]])
- 引数
-
- start(オプション)
- 切り出す範囲の最初の要素のインデックス、デフォルトは0。
startがarray.length-1を超える場合は空の配列を返す。
負の値を指定すると配列の最後のインデックスからの位置を示す。 - end(オプション)
- 切り出す範囲の最後の要素の次のインデックス、デフォルトはarray.length。
array.length-1を超える場合は配列の最後の要素までを取り出す。
負の値を指定すると配列の最後のインデックスからの位置を示す。
- 戻り値
- 元の配列の部分配列を新しい配列として返す
例
const array = ["a", "b", , "d"];
// 引数を省略した場合は、元の配列のシャローコピーを返す
// 空のスロットは空のままに
console.log(array.slice()); // ["a", "b", , "d"]
// 引数をインデックス1からインデックス4の一つ前つまり3までを返す
console.log(array.slice(1, 3)); // ["b", ]
// 引数endがarray.length-1を超える場合は最後の要素までを返す
console.log(array.slice(1, 5)); // ["b", , "d"]
// 引数startがarray.length-1を超える場合は空の配列を返す
console.log(array.slice(5, 3)); // [];
// 引数が負の値の場合は最後のインデックスからの位置を示す
console.log(array.slice(-3, -1)); // ["b", ]