Javascript,使用数组过滤数组
我需要过滤数组1,数组2中的每个元素。两个数组都可以有随机数目的元素Javascript,使用数组过滤数组,javascript,arrays,foreach,filter,Javascript,Arrays,Foreach,Filter,我需要过滤数组1,数组2中的每个元素。两个数组都可以有随机数目的元素 array1 = [1,2,3,4,5]; array2 = [1,3,5]; filteredArray = []; array2.forEach(function(x){ filteredArray = array1.filter(function(y){ return y !== x; }); }); return filteredArray; //should return -&g
array1 = [1,2,3,4,5];
array2 = [1,3,5];
filteredArray = [];
array2.forEach(function(x){
filteredArray = array1.filter(function(y){
return y !== x;
});
});
return filteredArray;
//should return -> [2,4]
// returns [1,2,3,4]
如何过滤另一个数组中包含所有元素的数组?使用数组索引的方法
var array1 = [1,2,3,4,5];
var array2 = [1,3,5];
var filteredArray = array1.filter(function(x) {
return array2.indexOf(x) < 0;
});
使用数组indexOf方法
var array1 = [1,2,3,4,5];
var array2 = [1,3,5];
var filteredArray = array1.filter(function(x) {
return array2.indexOf(x) < 0;
});
更简单的方法是:
var filteredArray = array1.filter(function(item) {
return !(array2.indexOf(item) >= 0);
});
更简单的方法是:
var filteredArray = array1.filter(function(item) {
return !(array2.indexOf(item) >= 0);
});
您可以使用indexOf()
array1 = [1,2,3,4,5];
array2 = [1,3,5];
filteredArray = [];
array2.forEach(function(x){
if (array1.indexOf(array2[x] > -1) {
filteredArray.push(array2[x]);
}
});
return filteredArray;
您可以使用indexOf()
array1 = [1,2,3,4,5];
array2 = [1,3,5];
filteredArray = [];
array2.forEach(function(x){
if (array1.indexOf(array2[x] > -1) {
filteredArray.push(array2[x]);
}
});
return filteredArray;
array1=[1,2,3,4,5];
array2=[1,3,5];
filteredArray=[];
filteredArray=array1.过滤器(函数(y){
返回数组2.indexOf(y)<0;
});
控制台日志(filteredArray)代码>
array1=[1,2,3,4,5];
array2=[1,3,5];
filteredArray=[];
filteredArray=array1.过滤器(函数(y){
返回数组2.indexOf(y)<0;
});
控制台日志(filteredArray)代码>在ES6中,您可以使用它
var array1=[1,2,3,4,5],
array2=[1,3,5],
filteredArray=array1.filter((set=>a=>!set.has(a))(新的set(array2)));
控制台日志(filteredArray)代码>在ES6中,您可以使用它
var array1=[1,2,3,4,5],
array2=[1,3,5],
filteredArray=array1.filter((set=>a=>!set.has(a))(新的set(array2)));
控制台日志(filteredArray)代码>AllindexOf
不玩耍会使我变傻
var array1=[1,2,3,4,5],
array2=[1,3,5],
filtered=array1.filter(e=>!array2.includes(e));
console.log(过滤)代码>AllindexOf
不玩耍会使我变傻
var array1=[1,2,3,4,5],
array2=[1,3,5],
filtered=array1.filter(e=>!array2.includes(e));
console.log(过滤)代码>-您可以使用它-您可以使用不起作用的它,因为0…n应导致false,而true中的-1仍然不起作用。如果您输入返回!(列2.indexOf(项目)>=0)代码>应该可以。性感的人使用~代码>不是!(…>=0)
只是…<0
是,我也会的!>=0 ... 0>=0是真的!真是假。。。相信我<代码>!(a.indexOf(b)>=0)
与a.indexOf(b)<0
。。。或者,更简单地说<代码>!(a>=0)
=a<0
不起作用,因为0…n应导致false,而true中的-1仍然不起作用。如果您输入返回!(列2.indexOf(项目)>=0)代码>应该可以。性感的人使用~代码>不是!(…>=0)
只是…<0
是,我也会的!>=0 ... 0>=0是真的!真是假。。。相信我<代码>!(a.indexOf(b)>=0)
与a.indexOf(b)<0
。。。或者,更简单地说<代码>!(a>=0)
=a<0
!array2.包括(x)
(ECMAScript 2016)是,带有ECMAScript 2016。。。还没有一款浏览器是100%的ecmascript 2015,所以,见鬼,让我们跳到ecmascript 2020:pIt只是一种方法。打补丁很容易,即使没有传送带。非常感谢!事实上,阵列#过滤器在IE8或更低版本中无法工作。。。所以所有的ATM机都会因为这个代码而崩溃:p!array2.包括(x)
(ECMAScript 2016)是,带有ECMAScript 2016。。。还没有一款浏览器是100%的ecmascript 2015,所以,见鬼,让我们跳到ecmascript 2020:pIt只是一种方法。打补丁很容易,即使没有传送带。非常感谢!事实上,阵列#过滤器在IE8或更低版本中无法工作。。。所以所有的自动取款机都会因为这个代码而崩溃:pWe会让它变得更加复杂。。!filteredArray=array1.filter(函数(set,a){return!set.has(a)}.bind(null,新集(array2))怎么样代码>。?在这种情况下,您可以使用新集合(…)
作为参数。我们可以使它更加复杂。。!filteredArray=array1.filter(函数(set,a){return!set.has(a)}.bind(null,新集(array2))怎么样代码>。?在这种情况下,可以使用新集合(…)
作为此参数。