Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Ecmascript 6 - Fatal编程技术网

Javascript 如何使用多个键值在数组中筛选数组?

Javascript 如何使用多个键值在数组中筛选数组?,javascript,arrays,ecmascript-6,Javascript,Arrays,Ecmascript 6,const usersLanguageData={ 交易ID:6847655349501841000, 计数:5, 提供者列表:[ { 代码:['US'], 周末办公时间:假 }, { 代码:['US','IND'], 周末办公时间:对 }, { 代码:['US','IND','AUS'], 周末办公时间:假 }, { 代码:[], 周末办公时间:假 }, { 周末办公时间:对 } ] }; 让filterKeyName1=[“代码”]; 让filterValue1=['IND','US'];

const usersLanguageData={
交易ID:6847655349501841000,
计数:5,
提供者列表:[
{
代码:['US'],
周末办公时间:假
},
{
代码:['US','IND'],
周末办公时间:对
},
{
代码:['US','IND','AUS'],
周末办公时间:假
},
{
代码:[],
周末办公时间:假
},
{
周末办公时间:对
}
]
};
让filterKeyName1=[“代码”];
让filterValue1=['IND','US'];
//让filterValue2=['US'];
让filteredProviderData=usersLanguageData.providerList.filter(函数(e){
返回filterKeyName1.every(函数(a){
console.log(e[a])
返回filterValue1.包括(e[a]);
});
});
console.log(filteredProviderData)您应该在函数中再次使用
every()
。在使用
each()
之前,还要检查
e[a]
是否存在,因为您的一个项目没有
code

const usersLanguageData={transactionId:6847655349501841000,计数:5,提供者列表:[{code:['US',weekendOfficeHours:false},{code:['US','IND'],weekendOfficeHours:true},{code:['US','IND'AUS',weekendOfficeHours:false},{code:[],weekendOfficeHours:false},{weekendOfficeHours:true};
让filterKeyName1=[“代码”];
让filterValue1=['IND','US'];
//让filterValue2=['US'];
让filteredProviderData=usersLanguageData.providerList.filter(函数(e){
返回filterKeyName1.every(函数(a){
console.log(e[a])
返回e[a]&&filterValue1.every(x=>e[a]。包括(x));
});
});
console.log(filteredProviderData)您应该在函数中再次使用
every()
。在使用
each()
之前,还要检查
e[a]
是否存在,因为您的一个项目没有
code

const usersLanguageData={transactionId:6847655349501841000,计数:5,提供者列表:[{code:['US',weekendOfficeHours:false},{code:['US','IND'],weekendOfficeHours:true},{code:['US','IND'AUS',weekendOfficeHours:false},{code:[],weekendOfficeHours:false},{weekendOfficeHours:true};
让filterKeyName1=[“代码”];
让filterValue1=['IND','US'];
//让filterValue2=['US'];
让filteredProviderData=usersLanguageData.providerList.filter(函数(e){
返回filterKeyName1.every(函数(a){
console.log(e[a])
返回e[a]&&filterValue1.every(x=>e[a]。包括(x));
});
});

console.log(filteredProviderData)您可以使用值并根据对象的属性或空数组进行筛选

const usersLanguageData={transactionId:6847655349501841000,计数:5,提供者列表:[{code:['US',weekendOfficeHours:false},{code:['US','IND'],weekendOfficeHours:true},{code:['US','IND'AUS',weekendOfficeHours:false},{code:[],weekendOfficeHours:false},{weekendOfficeHours:true};
让key=“code”;
让值=['IND','US'];
让结果=usersLanguageData.providerList
.filter(o=>values.every(v=>(o[键]| |[])。包括(v));

控制台日志(结果)您可以使用值并根据对象的属性或空数组进行筛选

const usersLanguageData={transactionId:6847655349501841000,计数:5,提供者列表:[{code:['US',weekendOfficeHours:false},{code:['US','IND'],weekendOfficeHours:true},{code:['US','IND'AUS',weekendOfficeHours:false},{code:[],weekendOfficeHours:false},{weekendOfficeHours:true};
让key=“code”;
让值=['IND','US'];
让结果=usersLanguageData.providerList
.filter(o=>values.every(v=>(o[键]| |[])。包括(v));

控制台日志(结果)
filterValue1.includes(e[a])
,如果我读对了,这是对
['IND','US']的计算。includes(usersLanguageData.providerList[#]['code'])
。但是providerList中的代码是数组。而且
array1.includes(array2)
。例如,如果您将
['N',D'].includes(['D'])
放在控制台中,它将解析为False,那么在一个数组中使用一个键并再次检查值是否有意义,在我看来,这些值将位于另一个数组中?
filterValue1.includes(e[a])
,如果我正确地阅读了这篇文章,它的计算结果将是
['IND和'US'](usersLanguageData.providerList[#]['code'])
。但是providerList中的代码是一个数组。
array1.includes(array2)
在控制台中,它解析为False在一个数组中使用一个键并再次检查值是否有意义,在我看来,这些值应该位于另一个数组中?