在打字稿中查找3个数组中的共同元素[重复]

Posted

技术标签:

【中文标题】在打字稿中查找3个数组中的共同元素[重复]【英文标题】:Finding common elements in 3 arrays in typescript [duplicate] 【发布时间】:2020-10-14 06:44:21 【问题描述】:

如何获取 3 个数组中的共同元素? 例如,我有 3 个数组

arr1 = [10,20,30,40]    
arr2 = [20,30,50,60]   
arr3 = [70,40,30,20]

结果应该是[20,30]

【问题讨论】:

到目前为止你有什么尝试? 【参考方案1】:

您可以将reduce()filter()includes() 方法一起使用

有关数组函数的更多信息,请参阅

https://developer.mozilla.org/en-US/docs/Web/javascript/Reference/Global_Objects/Array/reduce

var arr1 = [10,20,30,40];    
var arr2 = [20,30,50,60];  
var arr3 = [70,40,30,20];
var data = [arr1, arr2, arr3];
var result = data.reduce((a, b) => a.filter(c => b.includes(c)));

console.log(result);

【讨论】:

【参考方案2】:

基本上它的 A ∩ B ∩ C 等于 (A ∩ B) ∩ C 您可以使用基本的 ES6 过滤器

arr1 = [10,20,30,40]    
arr2 = [20,30,50,60]   
arr3 = [70,40,30,20]

intersactionArr1Arr2 = arr1.filter(x => arr2.includes(x))
intersactionArr1Arr2Arr3 = intersactionArr1Arr2.filter(x => arr3.includes(x))
// Which results [20, 30]

【讨论】:

以上是关于在打字稿中查找3个数组中的共同元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章

打字稿中的剂量[索引:字符串]是啥意思[重复]

在打字稿中检查 NAN [重复]

从打字稿中的对象获取特定类型的所有键[重复]

字符串枚举类似于打字稿中的类型[重复]

在打字稿中返回反应 16 个数组元素

在打字稿中键入注释[重复]