从数组中移除给定函数返回 false
的元素。
使用 Array.filter()
和 Array.reduce()
来查找返回真值的数组元素,使用 Array.splice()
来移除元素。 func
有三个参数(value, index, array
)。
const remove = (arr, func) => Array.isArray(arr) ? arr.filter(func).reduce((acc, val) => { arr.splice(arr.indexOf(val), 1); return acc.concat(val); }, []) : [];
remove([1, 2, 3, 4], n => n % 2 == 0); // [2, 4]