映射函数及其返回值

时间:2019-02-24 04:58:12

标签: object map-function

出于更深入的了解,我在函数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]  

1 个答案:

答案 0 :(得分:1)

使用(方括号)数组表示法代替(点)对象表示法。

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