Home > Enterprise >  How to get all values of a specific key in array of objects?
How to get all values of a specific key in array of objects?

Time:08-04

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

  • Related