映射函数及其 return 值

map function and its return value

为了更深入的理解,我在函数 extractKey 中使用了 val.key 而不是 val[ ],我认为它会给我 [name, name, name, name ] 作为结果,但我得到的却是 [undefined, undefined, undefined, undefined] 这是为什么? :

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]  

使用(方括号)数组表示法而不是(点)对象表示法。

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);