/** * A specialized version of `_.filter` for arrays without support for * iteratee shorthands. * * @private * @param {Array} [array] The array to iterate over. * @param {Function} predicate The function invoked per iteration. * @returns {Array} Returns the new filtered array. */ function arrayFilter(array, predicate) { let index = -1; let resIndex = 0; const length = array == null ? 0 : array.length; const result = []; while (++index < length) { const value = array[index]; if (predicate(value, index, array)) { result[resIndex++] = value; } } return result; } export default arrayFilter;