I have array of objects like this
const object1 = {
a: 'somestring',
b: 42,
c: false
};
const object2 = {
a: 'somestring2',
b: 42,
c: false
};
const object3 = {
a: 'somestring3',
b: 42,
c: false
};
const arr = [object1,object2,object3]
i want to get all the values of 'a' key. so result be
['somestring','somestring2','somestring3']
I tried Object.values() but it gets me all values of all keys, which is not the desired output.
CodePudding user response:
Just use map() function:
const arr = [object1,object2,object3].map(({a}) => (a))
An example:
const object1 = {
a: 'somestring',
b: 42,
c: false
};
const object2 = {
a: 'somestring2',
b: 42,
c: false
};
const object3 = {
a: 'somestring3',
b: 42,
c: false
};
const arr = [object1,object2,object3].map(({a}) => (a))
console.log(arr)
CodePudding user response:
Based on my understanding of object-oriented programming, I think that it would be difficult (or perhaps impossible) to access all of the 'a' keys simply by typing in 'a.' I think JavaScript uses encapsulation, which means that the properties of an object are contained within that object and cannot be accessed as independent entities.
Have you tried const arr = [object1.a, object2.a, object3.a]
? That might work