var test = [
{
id : 'user01',
pos0 : 2
},
{
id : 'user01',
pos0 : 3
},
{
id : 'user02',
pos1 : 5
},
{
id : 'user02',
pos1 : 6
},
{
id : 'user03',
pos2 : 8
},
{
id : 'user03',
pos2 : 9
}
]
这是示例数据,
和 我想要通过'pos2',得到测试[4]并测试[5]。
//like this :
function getObjectByKey(array, key){
// dosomething
};
..
var testArray = getObjectByKet(test, 'pos2');
我尝试使用$ .inArray或$ .map,但是如何使用它们。 我怎么能这样做?
问候。
答案 0 :(得分:1)
请试试这个,
function getObjectByKey(array, key){
var users=[];
$.map(array, function (user, index) {
if (user[key])
users.push(user)
});
return users;
};
希望这会对你有所帮助。
同时更改您的函数调用。你错过了拼写的功能名称 在调用方法时尝试这个
var testArray = getObjectByKey(test, 'pos2');
答案 1 :(得分:0)
我建议使用Array.prototype.map()
方法迭代一个数组。像这样:
var test = [
{
id : 'user01',
pos0 : 2
},
{
id : 'user01',
pos0 : 3
},
{
id : 'user02',
pos1 : 5
},
{
id : 'user02',
pos1 : 6
},
{
id : 'user03',
pos2 : 8
},
{
id : 'user03',
pos2 : 9
}
]
var user;
test.map(function(v) { if(v.id == 'user03') user = v; });
这是FIDDLE。