Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于另一个数组从数组中删除项_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript 基于另一个数组从数组中删除项

Javascript 基于另一个数组从数组中删除项,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有两个阵列: var firstArr = [1,2,3,4,5]; var secondArr = [2,3]; 如何获得这样的数组: [1,4,5] 我想使用一种解决方案,当数组元素是具有多个属性的对象时可以使用。使用: filter()方法使用通过的所有元素创建一个新数组 由提供的函数实现的测试 例如: firstArr.filter(function(item){ return secondArr.indexOf(item) === -1; }); 您可以使用此功能删

我有两个阵列:

var firstArr = [1,2,3,4,5];
var secondArr = [2,3];
如何获得这样的数组:

[1,4,5]
我想使用一种解决方案,当数组元素是具有多个属性的对象时可以使用。

使用:

filter()
方法使用通过的所有元素创建一个新数组 由提供的函数实现的测试

例如:

firstArr.filter(function(item){ 
    return secondArr.indexOf(item) === -1; 
});

您可以使用此功能删除项目

function removeA(arr) {
    var what, a = arguments, L = a.length, ax;
    while (L > 1 && arr.length) {
        what = a[--L];
        while ((ax= arr.indexOf(what)) !== -1) {
            arr.splice(ax, 1);
        }
    }
    return arr;
}
var ary = ['three', 'seven', 'eleven'];
removeA(ary, 'seven');

如果您可以使用下划线:@epascarello的可能重复项,那么这个问题不是关于删除重复项……对于OP的第二个请求(数组元素是对象),应该注意,只有当两个数组中都存在相同的对象,而不仅仅是该对象的副本时,这才有效。