UNPKG

630 BJavaScriptView Raw
1/**
2 * A specialized version of `_.filter` for arrays without support for
3 * iteratee shorthands.
4 *
5 * @private
6 * @param {Array} [array] The array to iterate over.
7 * @param {Function} predicate The function invoked per iteration.
8 * @returns {Array} Returns the new filtered array.
9 */
10function arrayFilter(array, predicate) {
11 var index = -1,
12 length = array == null ? 0 : array.length,
13 resIndex = 0,
14 result = [];
15
16 while (++index < length) {
17 var value = array[index];
18 if (predicate(value, index, array)) {
19 result[resIndex++] = value;
20 }
21 }
22 return result;
23}
24
25export default arrayFilter;