Javascript:如何在对象数组中查找键名

时间:2015-04-28 23:49:04

标签: javascript arrays javascript-objects

我正在尝试确定我的对象数组中是否存在键名。例如,如何验证名称为“name”的键是否等于函数调用中传递的参数?以下是进一步澄清的代码。

var stooges = [{name: 'moe', age: 40}, {name: 'larry', age: 50}, {name: 'curly', age: 60}];
var test = function(arr, propName){
var result = [];
for(var i = 0; i < arr.length; i++){
    if(arr[i][propName] === propName){
        result.push(arr[i][propName]);
    }
}
return result;
} 
func(stooges, "name"); 

1 个答案:

答案 0 :(得分:0)

使用underscore.js:

var names = _.pluck(stooges, 'name');

实际上这是他们页面上的例子吗?!

所以,基于你知道这一点,但想知道如何写类似的东西:

function pluck(array, prop]) {
    return array.map(function(entry) {
        return entry[prop];
    });
}

或更安全地,如果初始数组未定义则返回空数组:

function pluck(array, prop]) {
    return array ? array.map(function(entry) {
        return entry[prop];
    }) : [];
}