我正在尝试确定我的对象数组中是否存在键名。例如,如何验证名称为“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");
答案 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];
}) : [];
}