import { basePullAt } from '../_internal/basePullAt'; function remove(array: string | any[], predicate: (arg0: any, arg1: number, arg2: any) => any) { const result: any[] = []; if (!(array && array.length)) { return result; } let index = -1, indexes = [], length = array.length; while (++index < length) { const value = array[index]; if (predicate(value, index, array)) { result.push(value); indexes.push(index); } } basePullAt(array, indexes) return result; } export { remove }