繁体   English   中英

将数组保存在chrome.storage中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM