Javascript 通过对象数组映射并动态访问其属性(使用变量)

Javascript 通过对象数组映射并动态访问其属性(使用变量),javascript,arrays,object,javascript-objects,Javascript,Arrays,Object,Javascript Objects,我有一个数组,里面有不同的对象。我想编写一个函数pluck,它获取数组&一个属性,并返回不同对象中该属性的所有值的数组 我试过这个: var paints = [ {color: 'red'}, {color: 'yellow'}, {color: 'blue'}, ]; function pluck(arr, property) { return arr.map(function(obj, property) { return obj[prop

我有一个数组,里面有不同的对象。我想编写一个函数
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'];
    });
…它可以工作,但现在显然是硬编码的。但是,我想调用函数并指定要在数组中返回的属性。

非常接近

function pluck(arr, property) {
    return arr.map(function(obj) {
        return obj[property];
    });
}
您不需要在内部函数中使用
属性
参数,通过使用它,您可以将要传递的参数重新定义为其他参数

var=[
{颜色:'红色'},
{颜色:'黄色'},
{颜色:'蓝色'},
];
函数清除(arr,属性){
返回arr.map(函数(obj){
返回obj[属性];
});
}
原木(采摘(油漆,'颜色')
函数(obj,property)
更改为
函数(obj)
。调用可能重复的概念