javascript - 如何在 Chrome 本地存储中存储 Set 对象

标签 javascript google-chrome google-chrome-extension local-storage

var testSet = new Set(); testSet.add(1); testSet.add(2);
chrome.storage.local.set( { 'key': testSet }, function() { chrome.storage.local.get( 'key', function(data){ console.log(data) }); });

这输出

Object {key: Object}
key: Object__proto__: 
Object__proto__: Object

为什么它不显示其中的测试集值?

最佳答案

实现此目的的一种方法是使用 Spread OperatorSet 转换为数组。 .

例如

var testSet = new Set(); testSet.add(1); testSet.add(2);
chrome.storage.local.set({ 'key': [...testSet] });

当你想取回它时,你可以这样做......

chrome.storage.local.get('key', function(data){ 
    var mySet = new Set(data.key);
    console.log(mySet);
})

编辑:感谢 Xan 注意到 chrome.storage 可以直接设置数组。

关于javascript - 如何在 Chrome 本地存储中存储 Set 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37850661/

相关文章:

google-chrome - 使用注册表项修复在 Chrome 中启用 Silverlight 插件 (NPAPI)

javascript - XMLHTTP.open 在 IE6 中的第二次调用中不起作用,在 Firefox 中正常运行

Javascript - 数组一直被解释为字符串

javascript - Chrome 中潜在的 CSS Scroll Snap 错误

google-chrome-extension - 如何将多个值推送到 chrome.storage.local 数组键?

google-chrome - Chrome 扩展 : How do I poll RSS Feeds to see if there is new content and display that as a number on the extension icon

css - 让你的 chrome 扩展的样式表覆盖网站的 CSS

javascript - 如何跟踪 javascript 行为的起源,特别是 - 将哈希添加到我的 url

javascript - React Hook新手,为什么使用一次后状态未定义?

javascript - 仅使用书签在 Chrome 中触发复选框 onchange 事件