2012-02-27 22 views
0

Javascriptでネストされた配列を作成しようとしていますが、この配列から何かを取得しようとすると、エラー '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ループこれでしばらくを交換しようとしている:

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

私はTypeError例外メッセージは何を意味するのかウェブの周りに読んでから理解します'値が期待される型でないときのエラーを表します。'この機会になぜそれが起こるのか理解できませんが、 私は問題が何であるか分かりません。

ありがとうございました。 Wez。ここで

+0

私はJSFiddleとにあなたのコードを入れて試してみたあなたはwindow.localStorage.key(i)とIにアクセスしようとすると、その中の項目よりも>エラー、第一その爆弾のすべての種類を与えますストレージ、私はすぐに試してみる/それをテストするために丸め、theresのソーター関数は、並べ替えてコメントをしていないので、私は新しい配列[keyPair.length]はコンストラクタではありません一緒にJSFiddleを表示してくださいあなたの持つ – Dampsquid

答えて

0

keyPair.sort(sorter()); 

あなたが機能を評価し、機能しませ合格する必要があります。これと同じように:

keyPair.sort(sorter); 
関連する問題