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

为什么它不在那里显示 testSet 值?

最佳答案

实现此目的的一种方法是使用 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/

10-09 17:54