我正在使用此代码向本地存储添加值:
rowSettings[counter] = [value1, value2, value3];
localStorage.setItem("rowSettings", JSON.stringify(rowSettings));
localStorage的结果是:
[null,[1,0,0],[1,0,0],[1,0,0],[1,0,0]].
那么为什么要添加“null”呢?
在Chome开发者工具中我得到:
"Uncaught TypeError: Cannot read property '0' of null".
检索对象时会发生这种情况:
var row =0;
var retrievedObject = JSON.parse(localStorage.getItem('rowSettings'));
//Start each function
for (var i = 0; i < 3; i++) {
console.log(retrievedObject[row][i]);
}
row++;
//End each function
答案 0 :(得分:1)
当你构建rowSettings时,你在索引1处开始(计数器)而不是0.所以第0个元素为null。 根据Jonathan的评论找到答案。