Skip to content Skip to sidebar Skip to footer

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"