🗂
JavaScript `.slice()`の使い方について
.slice()
の引数は以下の二つです
- begin:省略可能、デフォルトは
0
です - end:省略可能、デフォルトは
arr.length
です。終点のアイテムの位置ではなくて、終点のアイテム+1のことです
引数を省略せずの書き方はこうなります
const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];
animals.slice(2,5); // ['camel', 'duck', 'elephant']
end
を省略する場合
例えばこのような書き方でしたら
animals.slice(3)
animals.length
は実際5
なので、
フルはこんな意味です
animals.slice(3,5) // ['duck', 'elephant']
start
とend
を省略する場合
同じくこういう書き方は
animals.slice()
デフォルト値を代入したらこういうのと同義です
animals.slice(0,5) // ['ant', 'bison', 'camel', 'duck', 'elephant']
マイナスの見方
マイナス記号の見方はarr.length - マイナスの値 = 正確なインデックス
です
例えばこういうのは
animals.slice(-2);
まずはend
を補填します
animals.slice(-2, 5);
そして、マイナスの正確値を算出します
arr.length
は5
なので
5 - 2 = 3
3
は正確なインデックスです
つまりこれと同義です
animals.slice(3, 5); // ['duck', 'elephant']
Discussion