0

の名前のようにJSON配列を作成しますjarray

idと対応する値があります。

そして、私は別の変数を持っています arr

ここで、idを使用してjson配列から値の値を取得するにはどうすればよいですか。

jarrayこれは、varを使用してを確認する必要があるかどうかを意味しid=04ます。

04が見つかった場合は、出力としてAppleなどの特定のIDの値が必要です。

Json配列でIf条件を使用するにはどうすればよいですか?

var jarray=[{"id":"04","value":"Apple"},{"id":"13","value":"orange"}];
var id=04;
4

4 に答える 4

1

これは、IDが「04」であるすべてのアイテムの配列を返します。

var matches = jarray.filter(function(a){return a.id==id;});

確かに1つしかない場合は、をとることができますmatches[0];

"04"これは、またはとして指定されたIDで機能することに注意してください04

古いブラウザ(フィルタ機能がない可能性があります)との互換性を確保するには、これを参照してください。

于 2012-07-12T13:14:28.127 に答える
0
var i=0;
while(i<jarray.length) {
  if(jarray[i].id==id) {
    var val=jarray[i].value;
    break;
  }
}
于 2012-07-12T13:15:31.840 に答える
0

Underscoreの_.find`メソッドのようなものを使用するか、ケースに固有の独自のメソッドを作成することができます。

function findId(id, arr, member) {
  for(i in arr) {
    // You could use === here depending on your needs
    if(arr[i]['id'] == id) {
      return member === undefined ? arr[i] : arr[i][member];
    }
  }
  return false;
}
findId('04', jarray, 'value'); // Apple
于 2012-07-12T13:15:49.673 に答える
0

このような:

for (i=0;i<jarray.length;i++)
    {
        var tempValue = jarray[i];
        if (tempValue["id"] == id)
            alert( "value is : " + tempValue["value"] );
    }
于 2012-07-12T13:21:05.103 に答える