/** * A specialized version of `filter` for arrays. * * @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