🗂

JavaScript `.slice()`の使い方について

2022/07/17に公開

.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']

startendを省略する場合

同じくこういう書き方は

animals.slice()

デフォルト値を代入したらこういうのと同義です

animals.slice(0,5) // ['ant', 'bison', 'camel', 'duck', 'elephant']

マイナスの見方

マイナス記号の見方はarr.length - マイナスの値 = 正確なインデックスです

例えばこういうのは

animals.slice(-2);

まずはendを補填します

animals.slice(-2, 5);

そして、マイナスの正確値を算出します
arr.length5なので
5 - 2 = 3
3は正確なインデックスです

つまりこれと同義です

animals.slice(3, 5); // ['duck', 'elephant']

Discussion