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,
Solution 1:
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);
Solution 2:
You can use map()
and reduce()
for this.
var keys = ["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 => {
return keys.reduce((r, k) => (o[k] && (r[k] = o[k]), r), {})
})
console.log(result)
Post a Comment for "Filtering JSON Data Based On The Values In The Array"