【发布时间】:2021-09-14 06:49:47
【问题描述】:
我有 3 个数组。我想返回与array2 和array3 不同的array1 中的元素。 示例:
array1: ["Peter", "James", "JohnDoe", "Jackie"]
array2: ["James", "Dog"]
array3: ["JohnDoe", "Cat"]
Output: ["Peter", "Jackie"]
这是我从 array1 中过滤 array2 的代码 sn-p。
const array1, array2, array3;
const result = array1.filter(
element=> !array2.some(ele => element.id === ele.id)
);
// Output: ["Peter", "JohnDoe", "Jackie"]
我可以考虑创建另一个用于过滤 array3 的 const,但是是否有更好/优雅的方式将过滤器附加在一起(在一个语句中)?谢谢!
【问题讨论】:
-
你试过类似 res = array1.filter(item => !array2.includes(item) && !array3.includes(item));
标签: typescript