2013-09-27 3 views
0

3 세트의 데이터가있는 JSON 객체를 반복하는 jQuery.each 루프가 있지만 루프가 3 대신 13 개의 객체를 출력하고 그 중 10 개가 비어 있습니다 . 내가 ,,,,,,,,,[object Object],[object Object],,[object Object] 얻을 document.write(teammates_info);을 할 경우 생성되는 모든 빈 배열 요소를 볼 수 있도록,jQuery.each 루프 배열에 빈 값 추가

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 

: 여기 내 코드입니다.

나는, 출력에 내가 teammates_info[12]["first_name"]처럼 내 코드에서 나중에 동료의 데이터를 참조 할 수 방법을 객체의 배열을 시도하고 있지만, 13 개 배열 요소는 단지 3

+1

http://jsfiddle.net/7bZtV/3/ 사용 푸시() : 당신은 비 색인 객체가 아닌 배열을 사용해야합니다. 그렇지 않으면 배열이 아닌 인덱싱되지 않은 객체를 사용하십시오. –

+0

@ A.Wolff 나중에 코드에서 팀원의 ID로 참조 할 수 있도록 특정 인덱스를 설정해야합니다. – BWDesign

+0

그냥 내 이전 코멘트를 편집 했으므로 배열이 아닌 객체를 사용하십시오. –

답변

1

대신 생성되는 이유는 무엇에 관한 난처한 상황에 빠진거야 배열의 특정 인덱스를 설정하지,

var teammates_info = {}; 

DEMO