I would like to take an array of objects and filter each object to only return the properties where the key matches an item in an array.
For example:
con
You can .map
each object to its entries so you can .filter
out any entries which don't have a key in myKeys
, and then use .fromEntries()
to build up your new object like so:
const myKeys = ['key_1', 'key_3'];
const myArray = [{
key_1: 'Some Value A',
key_2: 'Some Other Value A',
key_3: 'Some Final Value A',
},
{
key_1: 'Some Value B',
key_2: 'Some Other Value B',
key_3: 'Some Final Value B',
},
{
key_1: 'Some Value C',
key_2: 'Some Other Value C',
key_3: 'Some Final Value C',
},
];
const res = myArray.map(obj => Object.fromEntries(Object.entries(obj).filter(([k, v]) => myKeys.includes(k))));
console.log(res);