2013-04-05 2 views
0

자바 스크립트에서 2 차원 배열을 초기화하는 스크립트를 txt 파일을 읽음으로써 작성하고 있습니다. 다음은이javascript에서 2 차원 어레이를 액세스하고 정렬하는 방법

for (var i = 0; i < n_count; i++); 
{ 
    for (var k = 0; k < neighbor[i].length; k++); 
    neighbor[k].sort(function(a,b){return a - b}) 
} 

같은

var neighbor = {}; 
var temp = new Array(); 
neighbor[nodemap[ temparray[0]]] = temp; //nodemap[ temparray[0]] is an integer 
neighbor[nodemap[temparray[0]]]. push(nodemap[temparray[1]]); 
neighbor[nodemap[temparray[0]]]. push(nodemap[temparray[2]]); 
.... // continue to add value 

가 그럼 난 배열에 액세스하고 정렬 할 내 코드의 일부는, 나는 오류가 발생했습니다 neighbor[i] is unidentified 있다는 점이다. 그 문제를 해결하는 방법을 보여 주시겠습니까?

+4

음 ... '나는 무엇입니까? –

+0

나는 u 대신에 'k'를 사용해야한다고 생각하니? '나는'범위에 있습니까? – dreamweiver

+0

죄송합니다, 그것은 k입니다 ... 실수를했습니다. 나는 이미 게시물을 편집했습니다. –

답변

1

neighbor "배열"은 실제로 개체 리터럴입니다. 따라서 neighbor을 반복해야하는 방식은 다음과 같습니다.

for (var key in neighbor) { 
    var cur = neighbor[key]; 
    cur.sort(function (a,b) { 
     return a - b; 
    }); 
} 
+0

'neighbor [i]'가 정의되지 않으면'neighbor [i] [k]'도 액세스 할 수 없습니다. 나는 또한'이웃 [i]'이 그들이 소트하고 싶은 배열이라고 생각합니다. –

+1

@AnthonyGrist 예 몇 가지를 깨닫기 시작했습니다. 나는 더 많은 것을 설명하기 위해 편집 중이다. 그것을 지적 해 주셔서 감사합니다 – Ian

+0

죄송합니다, 그것은 k입니다 ... 나는 실수를했고, 나는 이미 게시물을 편집했습니다. –

관련 문제