3 つのデータ セットを持つ JSON オブジェクトを反復する jQuery.each ループがありますが、何らかの理由で、ループは 3 つではなく 13 個のオブジェクトを出力し、そのうちの 10 個は空です。これが私のコードです:
var teammates_info=[];
var teammate_json={"teammates":[{"id":"12","first_name":"Bob","last_name":"Johnson","user_img":"","status":"offline","new_messages":"0"},{"id":"9","first_name":"John","last_name":"Doe","user_img":"","status":"offline","new_messages":"0"},{"id":"10","first_name":"test","last_name":"test","user_img":"","status":"offline","new_messages":"0"}]};
jQuery.each(teammate_json.teammates,function(index,teammate){
teammates_info[teammate.id]=[{"first_name":teammate.first_name,"last_name":teammate.last_name,"user_img":teammate.user_img,"status":teammate.status,"new_messages":teammate.new_messages}];
});
console.log(teammates_info.length); //outputs 13 not 3
document.write(teammates_info);
I getを実行すると,,,,,,,,,[object Object],[object Object],,[object Object]
、作成中の空の配列要素がすべて表示されます。
オブジェクトの配列を出力しようとしています。そうすれば、コードの後で のようにチームメイトのデータを参照できますが、teammates_info[12]["first_name"]
3 つではなく 13 の配列要素が作成される理由に困惑しています。