Javascript 基于另一个数组从对象数组中筛选数组属性
我想基于另一个数组筛选具有数组属性的对象数组:Javascript 基于另一个数组从对象数组中筛选数组属性,javascript,vue.js,Javascript,Vue.js,我想基于另一个数组筛选具有数组属性的对象数组: [ { id: 50, name: 'test1', countries: ['RO','GB'], }, { id: 51, name: 'test2', countries: ['DE', 'RO'], }, { id: 52, name: 'test3', countries: ['DE'], } ] 我想返回一个对象数组,可以按国家数组进行过滤,这意味着如果
[
{
id: 50,
name: 'test1',
countries: ['RO','GB'],
}, {
id: 51,
name: 'test2',
countries: ['DE', 'RO'],
}, {
id: 52,
name: 'test3',
countries: ['DE'],
}
]
我想返回一个对象数组,可以按国家数组进行过滤,这意味着如果我想按1,2个国家进行过滤
1. countries: ['RO']
或
预期产出将是:
一,
二,
使用此函数查找javascript数组中存在的多个值
var containsAll = arr1.every(function (i) { return arr2.includes(i); });
您可以使用filter()
和includes()
方法
var import1=[
{
身份证号码:50,
名称:“test1”,
国家:['RO','GB'],
}, {
id:51,
名称:“test2”,
国家:['德','罗'],
}, {
身份证号码:52,
名称:“test3”,
国家:[“德”],
}
];
var export1=import1.filter(函数(importz){
退货进口国包括(“DE”);
});
控制台日志(export1)
includes应该是一个字符串数组,了解如何过滤它们:array1.filter(object=>object.countries.find(country=>arrayOfCountries.includes(country)))
[
{
id: 50,
name: 'test1',
countries: ['RO', 'DE' ,'GB'],
}, {
id: 51,
name: 'test2',
countries: ['DE', 'RO'],
}
]
[
{
id: 50,
name: 'test1',
countries: ['RO', 'DE' ,'GB'],
}, {
id: 51,
name: 'test2',
countries: ['DE', 'RO'],
}, {
id: 52,
name: 'test3',
countries: ['DE'],
}
]
var containsAll = arr1.every(function (i) { return arr2.includes(i); });