使用js从第一个数组中查找不在第二个数组中重复的唯一元素

时间:2017-04-25 10:46:04

标签: javascript arrays

我有两个数组

array1 = ["ab", "xyz", "qr", "pqrs"]
array2 = ["ab", "def", "lmno", "def", "qr", "pqrs"]

如何比较这两个数组并从第一个数组中获取第三个数组,该数组在第二个数组中找不到。

期望的结果:

unique = ["xyz"]

提前致谢

2 个答案:

答案 0 :(得分:2)

使用Array#filter的可能解决方案。



var array1 = ["ab", "xyz", "qr", "pqrs"],
    array2 = ["ab", "def", "lmno", "def", "qr", "pqrs"],
    unique = array1.filter(v => array2.indexOf(v) == -1);
    
    console.log(unique);




答案 1 :(得分:1)

您可以使用Array.filter

在此代码段中,它使用array1includes

检查array2的每个元素是否属于filter的一部分

var array1 = ["ab", "xyz", "qr", "pqrs"]
var array2 = ["ab", "def", "lmno", "def", "qr", "pqrs"]

var unique = array1.filter(cur => !array2.includes(cur))
console.log(unique)