0

こんにちは:)ロードされた画像がどの「カウント」IDを持っているかを調べるにはどうすればよいですか?

ロードされた画像は「df5ddc27f7569f83e3867bec71a2cac0.jpg」
で、私のjsonは次のとおりです。

[
  {"count":1,"file":"8b6c5592f0378dc8c56e591a7b147826.jpg"},
  {"count":2,"file":"a44618c1afe93be486382ceb38536e02.jpg"},
  {"count":3,"file":"3c692942d69fba0d16971e0685f42757.jpg"},
  {"count":4,"file":"df5ddc27f7569f83e3867bec71a2cac0.jpg"}
]

誰か私にアイデアはありますか?

4

2 に答える 2

2

JavaScriptでこれをやろうとしていると思います

var jsondata = [
  {"count":1,"file":"8b6c5592f0378dc8c56e591a7b147826.jpg"},
  {"count":2,"file":"a44618c1afe93be486382ceb38536e02.jpg"},
  {"count":3,"file":"3c692942d69fba0d16971e0685f42757.jpg"},
  {"count":4,"file":"df5ddc27f7569f83e3867bec71a2cac0.jpg"}
];

function getId(file) {
    for(var f in jsondata) {
       if(jsondata[f].file == file)
         return jsondata[f].count;
    }
}

var id = getId("df5ddc27f7569f83e3867bec71a2cac0.jpg"); //count-id
于 2013-03-11T19:30:38.227 に答える
2

イメージ名がキーの場合、次のように JSON のカウントを「クエリ」(インデックス ルックアップ) できます。

var jsondata = [
  "8b6c5592f0378dc8c56e591a7b147826.jpg" : {"count":1},
  "a44618c1afe93be486382ceb38536e02.jpg" : {"count":2},
  "3c692942d69fba0d16971e0685f42757.jpg" : {"count":3},
  "df5ddc27f7569f83e3867bec71a2cac0.jpg" : {"count":4}
];

function getId(file) {
  if(jsondata.hasOwnProperty(file)) {
    return jsondata[file].count;
  } else {
    //Key not Found
    return 0;
  }
}

しかし、現在の設計では、各値を繰り返し処理し (ocinal の回答で示されているように)、目的の画像に等しい値を持つ要素「ファイル」を探す必要があります。

于 2013-03-11T19:23:13.440 に答える