UNPKG

931 BJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var tslib_1 = require("tslib");
4var is_array_like_1 = (0, tslib_1.__importDefault)(require("./is-array-like"));
5var pull_at_1 = (0, tslib_1.__importDefault)(require("./pull-at"));
6var remove = function (arr, predicate) {
7 /**
8 * const arr = [1, 2, 3, 4]
9 * const evens = remove(arr, n => n % 2 == 0)
10 * console.log(arr) // => [1, 3]
11 * console.log(evens) // => [2, 4]
12 */
13 var result = [];
14 if (!(0, is_array_like_1.default)(arr)) {
15 return result;
16 }
17 var i = -1;
18 var indexes = [];
19 var length = arr.length;
20 while (++i < length) {
21 var value = arr[i];
22 if (predicate(value, i, arr)) {
23 result.push(value);
24 indexes.push(i);
25 }
26 }
27 (0, pull_at_1.default)(arr, indexes);
28 return result;
29};
30exports.default = remove;
31//# sourceMappingURL=remove.js.map
\No newline at end of file