LodashのtakeRight関数を作成してみた
メソッド使用せずに作成した場合
const takeRight = (array = [], takeRightNum = 1) => {
if (takeRightNum === 0) {
return []
}
if (array.length < takeRightNum) {
return [...array]
}
let newArray = []
for (let i = 0; i < takeRightNum; i++) {
const index = array.length - (1 + i)
newArray.push(array[index])
}
return newArray
}
console.log(takeRight([1, 2, 3]))
// => [3]
console.log(takeRight([1, 2, 3], 2))
// => [2, 3]
console.log(takeRight([1, 2, 3], 0))
// => []
console.log(takeRight([1, 2, 3], 5))
// => [1, 2, 3]
sliceメソッドで作成した場合
sliceメソッドとは
- の引数に抜き出す範囲を指定すると、新しい配列オブジェクトとして返します
- マイナス数字だと後ろから順に選択する
▼以下の記事を参考にさせて頂きました
suin: JavaScriptで配列の後ろからN個の要素を取り出す
const takeRight = (array = [], takeRight = 1) => {
if (takeRight === 0) {
return []
}
return array.slice(-takeRight)
}