Javascript 基于数组中的值筛选JSON数据

Javascript 基于数组中的值筛选JSON数据,javascript,json,Javascript,Json,在Javascript中,是否有一种基于数组中的值过滤JSON文件的方法 例如,使用以下数组: ["c", "f"] 和JSON对象文件: [{ "a": 1, "b": 2, "c": 3, "d": 4, "e": 5, "f": 6 },{ "a": 2, "b": 4, "c": 6, "d": 8, "e": 10, "f": 12 }] 我想得出以下结果: [{ "c": 3

在Javascript中,是否有一种基于数组中的值过滤JSON文件的方法

例如,使用以下数组:

["c", "f"]
和JSON对象文件:

[{
    "a": 1,
    "b": 2,
    "c": 3,
    "d": 4,
    "e": 5,
    "f": 6

},{
    "a": 2,
    "b": 4,
    "c": 6,
    "d": 8,
    "e": 10,
    "f": 12
}]
我想得出以下结果:

[{
    "c": 3,
    "f": 6
},{
    "c": 6,
    "f": 12
}]

可以为新对象映射给定键的值

var key=[“c”,“f”],
data=[{a:1,b:2,c:3,d:4,e:5,f:6},{a:2,b:4,c:6,d:8,e:10,f:12}],
filtered=data.map(o=>Object.assign(…keys.map(k=>({[k]:o[k]}));
console.log(过滤)您可以使用
map()
reduce()
进行此操作

var key=[“c”,“f”];
var arr=[{“a”:1,“b”:2,“c”:3,“d”:4,“e”:5,“f”:6},{“a”:2,“b”:4,“c”:6,“d”:8,“e”:10,“f”:12}];
var result=arr.map(o=>{
返回key.reduce((r,k)=>(o[k]&&(r[k]=o[k]),r),{})
})

console.log(result)
被否决,因为您带来的是编程任务而不是问题。