0

我从 AJAX 返回了这个对象:

补种:[,…]
0: {id:1, t:13447, userid:1, time:2012-07-04 19:07:54, username:x, userlevel:8,donor:no,}
1: {id:2, t:13447, userid:2, time:2012-07-04 09:04:27, username:y, userlevel:0,donor:no,}
2: {id:3, t:13447, userid:3, time:2012-07-04 09:04:30, username:z, userlevel:0,donor:no,}
3: {id:4, t:13447, userid:4, time:2012-07-04 09:04:35, username:w, userlevel:0,donor:no,}

我需要检查这个对象是否在“userid”中包含一些值。
IE:
我的值 = 2,那么如何检查 userid 中的对象数组之一是否 == 2?如果任何用户 ID == 2,我需要返回 TRUE,如果没有,我需要返回 FALSE。如果 value = 5,我需要返回 FALSE,因为对象中没有一个 userid 包含 userid = 5。是否有一些功能或者我需要自己编写循环?

4

2 回答 2

1

您可以使用一个Array.some函数:

//generic parameter for 'Array.some' function
function useridValidator( userid ){
    return function(item){
        return item.userid === userid;
    };
}
console.log( ajaxData.reseeds.some( useridValidator(1) ) );   //true
console.log( ajaxData.reseeds.some( useridValidator(5) ) );   //false
于 2012-07-05T17:53:04.130 回答
0

我这样做:

var user_data = _return[idx+'s'];
for(var i=0;i<user_data.length;i++)
{
  if(user_data[i]['userid'] == _returnX['datas']['userid'])
  {
    var add = false;
  }
}

if(add === undefined)
{
  user_data[user_data.length] = _returnX['datas'];
  // do some stuff
}
于 2012-07-05T18:45:15.490 回答