Javascript 如何使用数组过滤数组?
如何根据数组(Javascript 如何使用数组过滤数组?,javascript,arrays,node.js,filter,Javascript,Arrays,Node.js,Filter,如何根据数组(result)筛选数组(myNumbers),以仅获取myNumbers中每个数组在result中显示的值 具体而言,鉴于: var result = [02, 03, 04, 06, 07, 11, 12, 13]; var myNumbers = [ [01, 03, 04, 05, 09, 10, 12, 14], [01, 03, 04, 05, 06, 08, 10, 12], [01, 02, 04, 05, 06, 08, 10, 12],
result
)筛选数组(myNumbers
),以仅获取myNumbers
中每个数组在result
中显示的值
具体而言,鉴于:
var result = [02, 03, 04, 06, 07, 11, 12, 13];
var myNumbers = [
[01, 03, 04, 05, 09, 10, 12, 14],
[01, 03, 04, 05, 06, 08, 10, 12],
[01, 02, 04, 05, 06, 08, 10, 12],
[01, 03, 04, 05, 06, 09, 12, 13],
[01, 02, 03, 05, 06, 08, 10, 11]
];
输出应为:
[
[03, 04, 12],
[03, 04, 06, 12],
[02, 04, 06, 12],
[03, 04, 06, 12, 13],
[02, 03, 06, 11],
]
我一次只能过滤一个阵列:
// This only filters it for myNumbers[0]
var confereResult = result.filter(function (number) {
if (myNumbers[0].indexOf(number) == -1)
return number;
console.log(number);
});
如何浏览整个列表?您可以映射过滤结果
var过滤器=[02,03,04,06,07,11,12,13],
数组=[[01,03,04,05,09,10,12,14],[01,03,04,05,06,08,10,12],[01,02,04,05,06,08,10,12],[01,03,04,05,06,09,12,13],[01,02,03,05,06,08,10,11],
result=array.map(a=>filter.filter(f=>a.includes(f));
log(result.map(a=>a.join(“”))代码>
.as console wrapper{max height:100%!important;top:0;}
您可以循环MyNumber并将结果推送到数组中,如
var结果=[02,03,04,06,07,11,12,13];
变量myNumbers=[
[01, 03, 04, 05, 09, 10, 12, 14],
[01, 03, 04, 05, 06, 08, 10, 12],
[01, 02, 04, 05, 06, 08, 10, 12],
[01, 03, 04, 05, 06, 09, 12, 13],
[01, 02, 03, 05, 06, 08, 10, 11]
];
var confereResult=[]
myNumbers.forEach(函数(val){
ConferenceResult.push(结果过滤器)(函数(编号){
如果(值索引of(数字)=-1)
返回号码;
}));
})
console.log(confereResult)
遍历myNumbers
数组,并对每一行应用一个过滤器
var结果=[02,03,04,06,07,11,12,13];
变量myNumbers=[
[01, 03, 04, 05, 09, 10, 12, 14],
[01, 03, 04, 05, 06, 08, 10, 12],
[01, 02, 04, 05, 06, 08, 10, 12],
[01, 03, 04, 05, 06, 09, 12, 13],
[01, 02, 03, 05, 06, 08, 10, 11]
];
myNumbers.forEach((arr,i)=>{
myNumbers[i]=arr.filter((val)=>{
返回结果。indexOf(val)!=-1;
});
});
console.log(mynumber)
请同时添加所需的结果。02
在JavaScript中的结果为2
。写02
的目的是什么?也不要认为返回号码是您想要的。使用此代码,结果中永远不会出现0
。您可能希望返回true
(或类似的内容)。