-1

For deeper understanding purpose i used val.key instead of val[ ] at function extractKey which i thought would give me [ name, name, name, name ] as result but instead i get [undefined, undefined, undefined, undefined] Why is this ? :

function extractKey(arr, key){



return arr.map(function(val){

    return val.key;

})



}    
extractKey([{name: 'Elie'}, {name: 'Tim'}, {name: 'Matt'}, {name: 
'Colt'}], 'name') // ['Elie', 'Tim', 'Matt', 'Colt']





(4) [undefined, undefined, undefined, undefined]  
Latrellvie
  • 23
  • 5

1 Answers1

1

Use (square brackets) array notation instead of (dot) object notation.

function extractKey(arr, key) {
  return arr.map(function(val) {

    return val[key];

  })
}

const names = extractKey([{
  name: 'Elie'
}, {
  name: 'Tim'
}, {
  name: 'Matt'
}, {
  name: 'Colt'
}], 'name'); // ['Elie', 'Tim', 'Matt', 'Colt']

console.log(names);
JasonB
  • 6,243
  • 2
  • 17
  • 27