Javascript嵌套数组抛出';类型错误';-错误
我试图在Javascript中创建一个嵌套数组,但无论我试图从这个数组中获得什么,我都会得到一个错误“TypeError”。以下是代码片段:Javascript嵌套数组抛出';类型错误';-错误,javascript,arrays,local-storage,multidimensional-array,Javascript,Arrays,Local Storage,Multidimensional Array,我试图在Javascript中创建一个嵌套数组,但无论我试图从这个数组中获得什么,我都会得到一个错误“TypeError”。以下是代码片段: var domains =new Array(); var keyPair =new Array(); function displayStorage(){ var i = 0; var sKey; while ((sKey = window.localStorage.key(i))) {
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];
我从网上阅读了解到TypeError消息“当值不是预期类型时表示错误”的含义,尽管我不明白为什么会在这种情况下发生
我就是看不出有什么问题
谢谢你的帮助,
Wez.这里:
keyPair.sort(sorter());
您应该传递函数,而不是计算函数。像这样:
keyPair.sort(sorter);
我曾尝试将您的代码放入JSFIDLE,它会给出各种各样的错误,当您尝试访问window.localStorage.key(I)和I>时,它会爆炸,而不是存储中的项,我很快将try/catch循环,以进一步测试,没有分类器函数,因此注释了排序,然后我选择新数组[keyPair.length]不是构造函数,你能用一个JSFIDLE来说明你的缺点吗
keyPair.sort(sorter);