小编典典

比较两个Javascript数组并删除重复项

javascript

如果它具有另一个数组的元素,是否还有其他更好的方法可以从一个数组中删除重复项呢,它工作得很好。

<script>
var array1 = new Array("a","b","c","d","e","f");
var array2 = new Array("c","e");

for (var i = 0; i<array2.length; i++) {
    var arrlen = array1.length;
    for (var j = 0; j<arrlen; j++) {
        if (array2[i] == array1[j]) {
            array1 = array1.slice(0, j).concat(array1.slice(j+1, arrlen));
        }
    }
}
alert(array1);

</script>

阅读 309

收藏
2020-05-01

共1个答案

小编典典

array1 = array1.filter(function(val) {
return array2.indexOf(val) == -1;
});

或者,随着ES6的推出:

array1 = array1.filter(val => !array2.includes(val));
2020-05-01