2012-02-27 3 views
0

자바 스크립트에서 중첩 배열을 만들려고하는데이 배열에서 뭔가를 얻으려고하면 'TypeError'오류가 발생합니다. 코드 스 니펫은 다음과 같습니다.Javascript Nested-Array throwing 'TypeError'- 오류

 var domains =new Array(); 
     var keyPair =new Array(); 
function displayStorage(){ 
    var i = 0; 
    var sKey; 
    while ((sKey = window.localStorage.key(i))) { 
     keyPair[i] = localStorage.key(i) + localStorage.getItem(sKey); 
     i++; 
    } 
    keyPair.sort(sorter()); 
    siteCount = 0; 
    valueCount = 0; 
    while(siteCount < keyPair.length/4) { 
     var offset = keyPair[siteCount].length - 1; 
     domains[siteCount] =new Array[keyPair.length]; 
     //keyPair[siteCount].substr(0,offset) keyPair[siteCount].substr(-1); 
     domains[siteCount][valueCount] = keyPair[valueCount]; 
     valueCount++; 
    if(valueCount >= 4){ 
     valueCount = 0; 
    } 
     siteCount++; 
    } 
} 
document.getElementById('testdiv').innerHTML = domains[0][1]; 

if 문 없이도 시도했습니다. 뿐만 아니라 domains[siteCount,valueCount]

에 대한

domains[siteCount][valueCount]

교환으로 나는 또한 루프이 함께 동안 교체 시도 :

for(siteCount; siteCount <= keyPair; siteCount++){ 
    domains[siteCount] =new Array(); 
    for(valueCount;valueCount < keyPair; valueCount++){ 
     domains[siteCount][valueCount] = keyPair[siteCount]; 
    } 
} 

가 이해 웹 주위 읽기에서 어떤 형식 오류 메시지 수단 '값이 예상되는 유형이 아닌 경우 오류를 나타냅니다.' 이 경우에 왜 그것이 일어날 지 이해할 수 없지만 나는 그 문제가 무엇인지 알 수 없다.

어떤 도움을 주셔서 감사합니다. Wez. 여기

+0

나는 JSFiddle과에 코드를 넣어 시도했습니다 당신이 window.localStorage.key (i) 및 난에 액세스하려고 할 때 그 항목보다> 오류 1이 폭탄의 모든 종류를 제공 저장소, 나는 빨리 try/catch 라운드를 추가 테스트, theres 없음 분류기 함수 그래서 정렬 된 다음 새 배열 [keyPair.length] 생성자가 아닌 JSFiddle 함께 오류를 표시하십시오 넣을 주석 너의 데 – Dampsquid

답변

0

: 당신은 기능을 전달한다

keyPair.sort(sorter()); 

, 기능을 평가하지. 그래서 같이 :

keyPair.sort(sorter); 
관련 문제