2019-06-02
描述
从数组中移除给定函数返回 false
的元素。
提示
- 使用
Array.prototype.filter()
找出数组中返回真值的元素 - 在
Array.prototype.reduce()
中使用Array.prototype.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);
}, [])
: [];
示例
从数组中移除偶数元素:
const arr = [1, 2, 3, 4]
const removeArr = remove(arr, n => n % 2 === 0); // removeArr = [2, 4], arr = [1, 3]