問題:
讓我們來丟棄數(shù)組(arr)的元素主之,從左邊開始择吊,直到回調(diào)函數(shù)return true就停止。
第二個參數(shù)槽奕,func几睛,是一個函數(shù)。用來測試數(shù)組的第一個元素粤攒,如果返回fasle所森,就從數(shù)組中拋出該元素(注意:此時數(shù)組已被改變),繼續(xù)測試數(shù)組的第一個元素夯接,如果返回fasle焕济,繼續(xù)拋出,直到返回true盔几。
最后返回數(shù)組的剩余部分晴弃,如果沒有剩余,就返回一個空數(shù)組逊拍。
代碼實現(xiàn):
function drop(arr, func) {
? ? var i=0;
? ? while(!func(arr[i])&&i<arr.length){
? ? ? i++;//當(dāng)func()不滿足時i++
? ? }
? ? arr=arr.slice(i,arr.length);//將arr后半段拷貝
? ? return arr;
}
ps:
slice()方法返回一個從開始到結(jié)束(不包括結(jié)束)選擇的數(shù)組的一部分淺拷貝到一個新數(shù)組對象上鞠。原始數(shù)組不會被修改。