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 Operator 将 Set
转换为数组。
例如
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/