Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.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_Arrays - Fatal编程技术网

从数组javascript中删除元素(相反的交集)

从数组javascript中删除元素(相反的交集),javascript,arrays,Javascript,Arrays,昨天晚上我问了这个问题 但我错了,我的解释和示例是关于两个数组之间的交集。 我想问的是如何删除数组中其他数组中不存在的元素。 示例: Array A=> [a, b, c, d] Array B=> [b, d, e] Array C= removeElementsNotIn(A, B); Array C (after function)-> [a,c] 非常感谢。您可以使用.filter()有选择地删除未通过测试的项目 var c = a.filter(func

昨天晚上我问了这个问题 但我错了,我的解释和示例是关于两个数组之间的交集。
我想问的是如何删除数组中其他数组中不存在的元素。
示例

Array A=> [a, b, c, d]  
Array B=> [b, d, e]  
Array C= removeElementsNotIn(A, B);  
Array C (after function)-> [a,c]
非常感谢。

您可以使用
.filter()
有选择地删除未通过测试的项目

var c = a.filter(function(item) { 
    return b.indexOf(item) < 0; // Returns true for items not found in b.
});
var c=a.filter(函数(项){
返回b.indexOf(item)<0;//对于在b中找不到的项,返回true。
});
在函数中:

function removeElementsNotIn(a, b) {
    return a.filter(function(item) { 
       return b.indexOf(item) < 0; // Returns true for items not found in b.
    });
}
var arrayC = removeElementsNotIn(arrayA, arrayB);
函数removeElementsNotIn(a,b){
返回a.filter(函数(项){
返回b.indexOf(item)<0;//对于在b中找不到的项,返回true。
});
}
var arrayC=removeElementsNotIn(arrayA,arrayB);
如果您想获得真正的花式(仅限高级),可以创建一个返回筛选函数的函数,如下所示:

function notIn(array) {
    return function(item) {
        return array.indexOf(item) < 0;
    };
}
// notIn(arrayB) returns the filter function.
var c = arrayA.filter(notIn(arrayB)); 
函数notIn(数组){
返回函数(项目){
返回数组.indexOf(item)<0;
};
}
//notIn(arrayB)返回filter函数。
var c=arrayA.filter(notIn(arrayB));
谢谢第二个Rikhdo
完整代码:

var a = [1,2,3,4,5];
var b = [4,5,6,7,8,9];

var new_array = a.filter(function(item) { 
  return b.indexOf(item) < 0; // Returns true for items not found in b.
});
alert(new_array);
// results: array[1,2,3]
var a=[1,2,3,4,5];
var b=[4,5,6,7,8,9];
var new_array=a.filter(函数(项){
返回b.indexOf(item)<0;//对于在b中找不到的项,返回true。
});
警报(新的_阵列);
//结果:数组[1,2,3]
演示:

a1=['s1','s2','s3','s4','s5'];
a2=['s4','s5','s6'];
a3=[];
函数功能(ar1、ar2){
var ar3=[];
对于(变量i=0;i