[英]Saving array in chrome.storage
我正在尝试将数组存储在chrome.storage
。 这是我的setter和getter函数:
chrome.storage.local.get({favs: []}, function(items) {
if (!chrome.runtime.error) {
console.log("retrieving data"+items);
favs = items.favs;
console.log("isarray:"+ favs instanceof Array);
}
});
chrome.storage.local.set({ favs : favs }, function() {
if (chrome.runtime.error) {
console.log("Runtime error.");
} else{
console.log("storing data")
}
});
但是一行console.log("isarray:"+ favs instanceof Array);
返回false。 请告诉我我要去哪里错了?
您应该使用如下括号将favs instanceof Array
包装起来: (favs instanceof Array)
这样您的代码将如下所示:
chrome.storage.local.get({favs: []}, function(items) {
if (!chrome.runtime.error) {
console.log("retrieving data"+items);
favs = items.favs;
// (wrap with parenthesis)
console.log("isarray:" + (favs instanceof Array) );
}
});
...
如果您不将该内容括在括号中,则javascript会尝试评估"isarray:" + favs
是否是Array
的实例,而它显然不是(string + array = string)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.