UNPKG

713 BJavaScriptView Raw
1import isArrayLike from './is-array-like';
2import pullAt from './pull-at';
3var remove = function (arr, predicate) {
4 /**
5 * const arr = [1, 2, 3, 4]
6 * const evens = remove(arr, n => n % 2 == 0)
7 * console.log(arr) // => [1, 3]
8 * console.log(evens) // => [2, 4]
9 */
10 var result = [];
11 if (!isArrayLike(arr)) {
12 return result;
13 }
14 var i = -1;
15 var indexes = [];
16 var length = arr.length;
17 while (++i < length) {
18 var value = arr[i];
19 if (predicate(value, i, arr)) {
20 result.push(value);
21 indexes.push(i);
22 }
23 }
24 pullAt(arr, indexes);
25 return result;
26};
27export default remove;
28//# sourceMappingURL=remove.js.map
\No newline at end of file