-1

I have this array of objects. Im trying to get the "name" property to return or console log

I've tried using indexes(probably wrong) so Im pretty stuck.

var peopleArray = [{
        name: "Harrison Ford",
        occupation: "Actor"
    },
    {
        name: "Justin Bieber",
        occupation: "Singer"
    },
    {
        name: "Vladimir Putin",
        occupation: "Politician"
    },
    {
        name: "Oprah",
        occupation: "Entertainer"
    }
]

Result should be:

["Harrison Ford", "Justin Bieber", "Vladimir Putin", "Oprah"]
Jack Bashford
  • 43,180
  • 11
  • 50
  • 79
Tay Tay
  • 7
  • 1

3 Answers3

1

Use map:

var peopleArray = [{name:"Harrison Ford",occupation:"Actor"},{name:"Justin Bieber",occupation:"Singer"},{name:"Vladimir Putin",occupation:"Politician"},{name:"Oprah",occupation:"Entertainer"}];
const res = peopleArray.map(({ name }) => name);
console.log(res);

ES5 syntax:

var peopleArray = [{name:"Harrison Ford",occupation:"Actor"},{name:"Justin Bieber",occupation:"Singer"},{name:"Vladimir Putin",occupation:"Politician"},{name:"Oprah",occupation:"Entertainer"}];
var res = peopleArray.map(function(e) {
  return e.name;
});
console.log(res);
Jack Bashford
  • 43,180
  • 11
  • 50
  • 79
0

To select property of array object, you can use map() function

let result = peopleArray.map(function(item) { return item['name']; });

If you want to select many properties from array object, you can use map and object destructing

result = peopleArray.map(({ name, age }) => ({
  name, 
  age
}));

var peopleArray = [{
        name: "Harrison Ford",
        occupation: "Actor",
        age: 21
    },
    {
        name: "Justin Bieber",
        occupation: "Singer",
        age: 22
    },
    {
        name: "Vladimir Putin",
        occupation: "Politician",
        age: 23
    },
    {
        name: "Oprah",
        occupation: "Entertainer",
        age: 24
    }
]

let result = peopleArray.map(function(item) { return item['name']; });
console.log(result);

result = peopleArray.map(({ name, age }) => ({
  name, 
  age
}));

console.log(result);
Hien Nguyen
  • 24,551
  • 7
  • 52
  • 62
0

You can also use a map

var person = peopleArray.map(({name}) => name);
console.log(person)
//["Harrison Ford", "Justin Bieber", "Vladimir Putin", "Oprah"]

You can use a forEach to display them one after the other

peopleArray.forEach(person => {
 console.log(person.name)
})
// "Harrison Ford"
// "Justin Bieber"
// "Vladimir Putin"
// "Oprah"
Nedy
  • 14
  • 1
  • 3