2014-12-30 3 views
0

이 같은 배열을 생성 하시겠습니까 2 차원 배열을 밀어 :JQuery와, 자바 스크립트 :

track[divID][wrapID] 

내가 사용하지 수 track[divID][wrapID] = wrapID

왜냐하면 좀 더 같이 다른 루프에서 2 차원에 추가됩니다 : track[divID][wrapID,wrapID2]

var track =[]; 
$("div").each(function() { 

         var wrapID = $(this).parent().attr('id') 
         var divID = $(this).attr('id') 

         track[divID].push(wrapID) 

                }); 

오류는 "catch되지 않은 형식 오류 : 속성을 읽을 수 없습니다 정의의 '푸시'"입니다

내가 뭘 잘못 했니? 많은 감사합니다.

track[divID] = []; 
track[divID].push(wrapID); 

그렇지 않으면 track[divID]undefined하고 push 방법을 가지고 있지 않습니다

+1

FYI'track [divID] [wrapID, wrapID2]'는 [쉼표 연산자] (https://developer.mozilla.org/en-US)가 어떻게 [track [divID] [wrapID2]/docs/Web/JavaScript/Reference/Operators/Comma_Operator) 작동 –

답변

5

당신은 두 번째 차원의 새로운 배열을 만들지 않았습니다.

+1

나는'트랙 [divID] = 트랙 [divID] || []'그가 기존 어레이를 덮어 쓰지 않도록하기 위해, 그는 더 많은 것을 추가 할 것이라고 말했기 때문에. –

+0

예, 정확히 !!! 데이터를 2 차원으로 유지해야했습니다. –