1
var data = {};
data.event = [
{
    "id":"998",
    "title":"Foo",
    "thumb":"",
    "source":""
},
{
    "id":"999",
    "title":"Bar",
    "thumb":"",
    "source":""
}
]

id=998 を考えると、「タイトル」の値を抽出する必要があり、適切な構文について少し迷っています。

4

4 に答える 4

3

$.each()で繰り返し、ID が一致するかどうかを確認してから、title の値を変数に書き込むことができます。

var title;

$.each(data.event, function(i,e) {
    if (this.id==='998') {
        title=this.title;
        return false;
    }
});

フィドル

于 2012-07-28T19:28:42.063 に答える
3
function titleFromId(id) {
   for (var i = 0, l = data.event.length; i < l; i += 1) {
      if (data.event[i].id === id) {
         return data.event[i].title;
      }
   }
}

var title = titleFromId('998');
于 2012-07-28T19:29:54.427 に答える
2

event配列をループする必要があります。各項目について、item.idが探している値である場合は、 を返しitem.titleます。

次のようなもの:

function findTitleById(desiredId) {
    var title, item;
    for (var i = data.event.length - 1; i >= 0; i--){
        item = data.event[i];
        if (item.id === desiredId) {
           title = item.title;
           break;
        }
    }
    return title;
}

これを行うためのより高度な方法がありますが、それらを試す前に上記を理解してください。

于 2012-07-28T19:25:24.433 に答える
1

関数を使用でき$.each()ます:

$.each(data.event, function(i, v){
    alert(v.id + " " + v.title)
})

http://jsfiddle.net/NGALP/

于 2012-07-28T19:29:29.637 に答える