🗂
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