0

AJAX からこのオブジェクトが返されました。

リシード: [,…]
0: {id:1、t:13447、ユーザー ID:1、時間:2012-07-04 19:07:54、ユーザー名:x、ユーザーレベル:8、ドナー:いいえ}
1: {id:2、t:13447、ユーザー ID:2、時間:2012-07-04 09:04:27、ユーザー名:y、ユーザーレベル:0、ドナー:いいえ}
2: {id:3、t:13447、ユーザー ID:3、時間:2012-07-04 09:04:30、ユーザー名:z、ユーザーレベル:0、ドナー:いいえ}
3: {id:4、t:13447、ユーザー ID:4、時間:2012-07-04 09:04:35、ユーザー名:w、ユーザーレベル:0、ドナー:いいえ}

そして、このオブジェクトの「userid」に何らかの値が含まれているかどうかを確認する必要があります。
IE:
値 = 2 を持っているので、userid == 2 のオブジェクト配列の 1 つを確認するにはどうすればよいですか?? userid == 2 の場合は TRUE を返し、そうでない場合は FALSE を返す必要があります。値 = 5 の場合、オブジェクト内のユーザー ID にユーザー ID = 5 が含まれていないため、FALSE を返す必要があります。そのための関数はありますか、またはサイクル用に独自の関数を作成する必要がありますか?

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 に答える