Javascript 获取jquery数组对象的第n项

Javascript 获取jquery数组对象的第n项,javascript,jquery,arrays,Javascript,Jquery,Arrays,我有一个数组对象 users[{object1}; {object2}, {object3}]; 其中每个对象都有下面的属性 object.userId object.userName object.email 当我点击表示每个对象的span时,我试图得到特定的对象 例如:-当我单击span.id=1时,我试图从数组中获取对象,该数组具有userid==1 我尝试过,jquery.eq()、grep()、get(),但似乎没有任何效果。您可以使用$.grep() Javascript中的对象

我有一个数组对象

users[{object1}; {object2}, {object3}];
其中每个对象都有下面的属性

object.userId
object.userName
object.email
当我点击表示每个对象的span时,我试图得到特定的对象

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

我尝试过,
jquery.eq()、grep()、get()
,但似乎没有任何效果。

您可以使用
$.grep()


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];
    }
}
这是我的建议


但是为了更有效,您应该。

循环遍历对象,并将
users[i].userId
与在onclick事件中使用
$(this.attr('id')获得的元素的id进行比较
@Igle-如果您要获取
id
属性,则不需要新jQuery对象的开销-
此.id
将在所有浏览器中直接从DOM获取。三个“===”对我不起作用!!!!!,但是在fiddle中,你的代码工作得很好,当我的代码中出现这种情况时,它就不工作了!,在我改为“return el.id==1”后,它对我来说很好用。怎么样谢谢
for(var user in users){
    if(users[user].userId == 1){
        console.log(users[user]);
        return users[user];
    }
}