Drop it

1020 ワード

配列(arr)の要素を捨てて、左からコールバック関数return trueまで停止します.
2番目のパラメータ、funcは、関数です.配列をテストするために使用される最初の要素はfasleを返すと、配列から要素を放出し(注意:配列が変更された場合)、配列の最初の要素をテストし続け、fasleを返すとtrueを返すまで放出し続けます.
最後に配列の残りの部分を返し、残りがなければ空の配列を返します.
 

構想

while()サイクルを用いて、func(arr[0])が満たされない場合にarrヘッダを除去する.次に、配列の残りの部分を巡り続けます.func(arr[0])が満たされていない場合、arrヘッダは無限数(ブラウザ最大値境界)で除去され、arrが空の配列であってもこの操作がループします.効率を保証するために、制限条件arr.length > 0を加えて無限サイクルの発生を阻止しなければならない.
function drop(arr, func) {
  // Drop them elements.
  while(!func(arr[0]) && arr.length > 0){
    arr.shift();
  }
  return arr;
}

 
転載先:https://www.cnblogs.com/fffangrui/p/6114198.html