我陷入了困境。 我有一个数组
arr: [
{
"a": "1"
},
{
"b": "4"
},
{
"c": "6"
},
{
"d": "9"
}
]
和一个数组
[a,c]
我希望我的输出是一个数组,其中每个数组只有 a 和 c。有人可以建议吗。
所需的输出
arr: [
{
"a": "1"
},
{
"c": "6"
}
]
答案 0 :(得分:2)
您必须对 arr1
应用过滤器并检查 arr1
的键是否存在于 arr2
中,例如:
let arr1 = [
{
a: '1'
},
{
b: '4'
},
{
c: '6'
},
{
d: '9'
}
];
let arr2 = ['a', 'c'];
let result = arr1.filter(item => arr2.includes(Object.keys(item)[0]));
alert(JSON.stringify(result));
答案 1 :(得分:1)
let arr1 = [
{
"a": "1"
},
{
"b": "4"
},
{
"c": "6"
},
{
"d": "9"
}
];
let arr2 = ["a","c"];
let result = []
for(let obj of arr1){
for(let key of arr2){
if(obj.hasOwnProperty(key)){
result.push(obj);
break;
}
}
}
alert(JSON.stringify(result));