2015-07-10 51 views
-1

我有两个数组是这样的:找到重复的两个数组

var x = ['1','2','6']; 
var y = ['4', '5','6']; 

如何找到在纯JavaScript和我在两个数组复制想避免使用循环?

输出 - duplicates: 6

+0

是否需要是纯JS或者您可以使用Underscore.js或jQuery的? –

+0

嗨,纯粹! @Jezzabeanz – sbaaaang

+1

http://stackoverflow.com/questions/1885557/simplest-code-for-array-intersection-in-javascript – phts

回答

2

尝试这样:

var x = ['1','2','6']; 
var y = ['4', '5','6']; 

var overlap = x.filter(function(v,i,a){ 
    return y.indexOf(v) > -1; 
}); 

console.log(overlap); // ['6'] 

这是否工作,为你的目的是什么?

MDN docs for filter

1

试试这个

var x = ['1','2','6']; 
var y = ['4', '5','6']; 
var duplicate = []; 
for (var i=0; i<y.length; i++) { 
    var index = x.indexOf(y[i]); 
    if (index > -1) { 
     duplicate.push(x[index]); 
    } 
} 

Output: ["6"] 
+0

“我想避免使用循环” –

+0

@DavidBarker好吧。它是'O(array1.length * array2.length)',但对于相当小的阵列和现代硬件,这不应该远程引起问题 –

相关问题