次のような json オブジェクトが提供されているとします。
{"someList": [{"id": "21154859" },{"id": "21154865" },{"id": "21154856" },{"id": "21154870" }]}
現在の「someList」アイテムのインデックス番号を知りたいです。someList アイテム ID があり、それは var aid と equals : 21154856 で表されます。
次のような関数を作成しました。
$.getJSON( url, function( data ) {
var jsonLength = data.someList.length;
for ( i=1; i <= jsonLength; i++ ){
chx = data.someList[i].id;
if(chx === aid){
var currentidno = Number(i) + 1;
$('#page').html('').append(currentidno + ' of ' + jsonLength);
break;
}
}
});
これを設定すると問題なく動作し、次のような結果が得られます: 3 of 4
しかし、それは効率が悪いように感じます。何千もの可能性があるとしたら、どのように機能するのだろうか. これが私がやりたいことを達成するための最良の方法であるかどうかを誰かが検討し、これがタスクを達成するための良い方法であるという仮定を検証または否定できますか?