假设我有一个数字数组
const nums = [0, 1, 2, 3, 4, 5];
我想得到所有小于3的数字
const targetNums = nums.filter(x => x < 3);
如何从源数组中删除这些过滤后的数字?
当我过滤数字时,nums应该保留
nums = [3, 4, 5];
我想到了这样的事情
const targetNums = nums.filter(x => x < 3);
nums.reduce(x => x < 3);
但这不是干净的代码。
答案 0 :(得分:1)
您确实可以使用reduce而不需要filter
const nums = [0, 1, 2, 3, 4, 5];
console.log(
nums.reduce((acc, x) => x < 3 ? acc.concat(x) : acc, [])
);