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];
}
}