首页 > 解决方案 > 用于在两个数组中查找公共元素的 Javascript 程序

问题描述

最近我有一个面试问题如下:假设我们有两个不同长度的排序数组。需要在两个数组中找到共同的元素。

var a=[1,2,3,4,5,6,7,8,9,10];
var b = [2,4,5,7,11,15];
for(var i=0;i<a.length;i++){
    for(var j=0;j<b.length;j++){
        if(a[i]==b[j]){
            console.log(a[i],b[j])
        }
    }
}

我像上面写的。面试官说现在假设 a 有 2000 个元素,b 有 3000 个元素。那么你是如何以更有效的方式写作的呢?

请用示例代码解释您的答案。所以我可以更清楚地理解。

标签: javascriptalgorithm

解决方案


The easiest way!!

var a = [1,2,3,4,5,6,7,8,9,10];
var b = [2,4,5,7,11,15];

for(let i of a){
  if(b.includes(i)){
    console.log(i)
  }
}


--------- OR --------------

var c = a.filter(value => b.includes(value))
console.log(c)

推荐阅读