Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
318 views
in Technique[技术] by (71.8m points)

javascript - Filtering JSON Data based on the Values in the Array

In Javascript, is there a way to filter the JSON file based on the values in the array?

For example, with the following array:

["c", "f"]

and the JSON object file:

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

},{
    "a": 2,
    "b": 4,
    "c": 6,
    "d": 8,
    "e": 10,
    "f": 12
}]

I would like to generate the following result:

[{
    "c": 3,
    "f": 6
},{
    "c": 6,
    "f": 12
}]
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You could map the values of the given keys for a new object.

var keys = ["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(filtered);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...