在两个数组中查找重复项

find duplicates in two arrays

我有两个这样的数组:

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

如何在纯 JavaScript 的两个数组中找到重复项并且我想避免使用循环?

输出 - duplicates: 6

尝试这样的事情:

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

试试这个

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"]