过滤数组并在JavaScript中从数组中删除过滤后的数据

时间:2018-06-28 14:47:24

标签: javascript arrays

假设我有一个数字数组

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);

但这不是干净的代码。

1 个答案:

答案 0 :(得分:1)

您确实可以使用reduce而不需要filter

const nums = [0, 1, 2, 3, 4, 5];

console.log(
  nums.reduce((acc, x) => x < 3 ? acc.concat(x) : acc, [])
);