tail是很簡單的函數方法了,就是返回數組除了開頭元素外的數組。
take則是從數組中挑出指定個數的元素組成數組。
takeRight則是往後開始挑元素。
takeWhile則是根據傳入的函數來判斷,直到函數返回falsey時,結束挑選。
function tail(arr){
return arr.slice(1)
}
function take(arr, n=1){
return arr.slice(0, n)
}
function takeRight(arr, n=1){
if(n===0) {
return []
}
return arr.slice(-n);
}
function takeRightWhile(arr, predicate){
if(!arr.length) return [];
let index = arr.length - 1;
const result = [];
while(index>=0){
if(!predicate(arr[index], index, arr)) {
break;
}
result.unshift(arr[index]);
index--;
}
return result;
}
function takeWhile(arr, predicate){
if(!arr.length) return [];
let index = 0;
const result = [];
while(index<arr.length){
if(!predicate(arr[index], index, arr)) {
break;
}
result.push(arr[index]);
index++;
}
return result;
}