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