I have an array of objects in Javascript:
[
{a: 1, b: 2, c: 4},
{d: 10, a: 9, r: 2},
{c: 5, e: 2, j: 41}
]
I would like to return an array of all the objects that have the key name c by using the key name for the lookup.
What is the best way to accomplish this?
.filter + in operator
var arr = [
{a: 1, b: 2, c: 4},
{d: 10, a: 9, r: 2},
{c: 5, e: 2, j: 41}
];
var result = arr.filter((x) => 'c' in x);
console.log(result)
You can use filter method and hasOwnProperty
const arr = [{a: 1, b: 2, c: 4},{d: 10, a: 9, r: 2},{c: 5, e: 2, j: 41}];
const myArray = array.filter(e => e.hasOwnProperty('c'))
use filter(), and maybe hasOwnProperty() or another way to check if the property is present on the object.
const myarray = [
{ a: 1, b: 2, c: 4 },
{ d: 10, a: 9, r: 2 },
{ c: 5, e: 2, j: 41 }
];
const processedarray = myarray.filter( item => item.hasOwnProperty( 'c' ) );
console.log( processedarray );