我有一个内部有不同对象的数组。我想写一个函数pluck
,它接受数组&一个属性,并返回不同对象中该属性的所有值的数组。
我试过这个:
var paints = [
{color: 'red'},
{color: 'yellow'},
{color: 'blue'},
];
function pluck(arr, property) {
return arr.map(function(obj, property) {
return obj[property];
});
}
console.log(pluck(paints, 'color'));
这不起作用。
如果我改变这样的功能:
function pluck(arr) {
return arr.map(function(obj) {
return obj['color'];
});
......它有效,但现在显然是硬编码的。但是,我想调用该函数并指定我想要在数组中返回的属性。
答案 0 :(得分:1)
非常接近。
function pluck(arr, property) {
return arr.map(function(obj) {
return obj[property];
});
}
你不需要内部函数中的property
参数,并通过它让你重新定义了你传入的那个参数。
var paints = [
{color: 'red'},
{color: 'yellow'},
{color: 'blue'},
];
function pluck(arr, property) {
return arr.map(function(obj) {
return obj[property];
});
}
console.log(pluck(paints, 'color'));