将一个数组中的对象的属性与另一个数组进行比较

时间:2018-11-02 01:53:46

标签: javascript arrays for-loop splice

我正在尝试将数组中对象的属性与单独的数组进行比较,如果该属性与单独的数组匹配,请从第一个数组中删除该对象。我有更好的方法吗?

for (var i = 0; i < array1.length; i++) {
    for (var j = 0; j < array2.length; j++) {
        if (array1[i].property === array2[j]) {
            array1.splice(i, 1)
            console.log(array1);
        }
    }
}

1 个答案:

答案 0 :(得分:3)

result = array1.filter(e1 => !array2.includes(e1.property))

基本上,您将过滤array1中的每个元素,以使该元素的属性不在array2中。

是您想要的吗?