获取jquery数组对象的第n项

getting nth item of jquery array object

本文关键字:对象 jquery 数组 获取      更新时间:2023-09-26

我有数组对象

users[{object1}; {object2}, {object3}];

其中每个对象都具有低于的属性

object.userId
object.userName
object.email

当我点击代表每个对象的span时,我正试图获得特定的对象。

例如:-当我点击span.id= 1时,我正试图从具有userid == 1 的数组中获取对象

我试过了,jquery .eq(), grep() , get(),但似乎什么都不起作用。

您可以使用$.grep()

var lis = [{'id':1, 'name':"honke"}, {'id':2, 'name':"hinke"}];
var found = $.grep(lis, function(el) {
  return el.id === 1;
});
alert(found[0].id);

Javascript中的对象本质上是一个字典,所以如果你要进行大量查找,你可以使用它:

var users = { 1: {object1}, 2: {object2},: 3: {object2}};

然后你可以做:

var user1 = users[span.id];

或者,您需要在数组中运行for循环,直到找到.userId == span.id

所在的对象

您可以使用jquery grep函数:

var result = jQuery.grep(obj, function( obj, i ) {
    return ( obj.userId == 1 );
});

您必须循环遍历每个对象才能找到它。

for(var user in users){
    if(users[user].userId == 1){
        console.log(users[user]);
        return users[user];
    }
}

这是js的fiddle代码。

但为了更高效,你应该像基思建议的那样使用地图。