我有2个阵列:
[
{
"id": 1,
"name": "All",
},
{
"id": 2,
"name": "APR",
},
{
"id": 3,
"name": "TER",
}]
第二个数组是["APR", "TER"]
我想用第二个数据过滤第一个数组,输出应该是
[{
"id": 2,
"name": "APR",
},{
"id": 3,
"name": "TER",
}]
尝试使用过滤功能 - 可能吗?
由于 阿南德
答案 0 :(得分:2)
非常标准地使用过滤方法。只要给它正确的检查条件,你就可以了:
const myArray = [{
"id": 1,
"name": "All",
}, {
"id": 2,
"name": "APR",
}, {
"id": 3,
"name": "TER",
}];
const otherArray = [
"APR",
"TER",
];
const filtered = myArray.filter(x => otherArray.includes(x.name));
console.log(filtered)

答案 1 :(得分:1)
您可以使用filter
功能过滤数组:
const items = [
{
"id": 1,
"name": "All",
},
{
"id": 2,
"name": "APR",
},
{
"id": 3,
"name": "TER",
}]
const filterValues = ["APR", "TER"]
const filtered = items.filter(item => filterValues.indexOf(item.name) > -1)