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