use Array.slice instead of Array.shift

This commit is contained in:
Larry Botha
2017-12-19 08:52:26 +02:00
parent 4a8f6b83a9
commit 14d683cc94

View File

@ -2,12 +2,12 @@
Removes elements in an array until the passed function returns `true`. Returns the remaining elements in the array.
Loop through the array, using `Array.shift()` to drop the first element of the array until the returned value from the function is `true`.
Loop through the array, using `Array.slice()` to drop the first element of the array until the returned value from the function is `true`.
Returns the remaining elements.
```js
const dropElements = (arr, func) => {
while (arr.length > 0 && !func(arr[0])) arr.shift();
while (arr.length > 0 && !func(arr[0])) arr = arr.slice(1);
return arr;
};
// dropElements([1, 2, 3, 4], n => n >= 3) -> [3,4]