0
我想在Javascript中創建一個嵌套數組,但無論我嘗試從這個數組中獲取某些東西,我都會得到一個'TypeError'錯誤。這裏是代碼片段:Javascript嵌套數組拋出'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。
我試圖把你的代碼放到一個的jsfiddle及其給各種錯誤,1它的炸彈,當您嘗試訪問window.localStorage.key(i)和I>比項目存儲,我很快把try/catch輪進一步測試,theres沒有分揀機功能,所以評論了排序然後我門新的數組[keyPair.length]不是一個構造函數,你可以把一個JSFiddle放在一起,以顯示錯誤你有 – Dampsquid 2012-02-27 20:21:51