javascript - 用于在两个数组中查找公共元素的 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 个元素。那么你是如何以更有效的方式写作的呢?
请用示例代码解释您的答案。所以我可以更清楚地理解。
解决方案
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)
推荐阅读
- java - Javax.sound.sampled.LineUnavailableException:
- django - 从 django.allauth.account.adapter 导入 DefaultAccountAdapter ModuleNotFoundError: No module named 'django.allauth'
- aws-cdk - CDK 兼容是什么意思?
- google-chrome - 如何解决“无法建立连接,接收端不存在”?
- python - Python 和 Win10 - 运行命令并在完成后重复
- tensorflow - 为什么我的自定义损失(分类交叉熵)不起作用?
- r - 如何在向量列表上使用 expand.grid?
- python - 如何将 ctypes argtypes c_ubytes 用于 unsigned char *?
- javascript - 当我们改变类型值时触发替换
- bash - 使用 Git Bash 命令行从一个 biz zip 文件中解压缩多个 zip 文件