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

Google chrome extension 如何将多个值推送到chrome.storage.local数组键?,google-chrome-extension,google-chrome-storage,Google Chrome Extension,Google Chrome Storage,我正在使用以下代码将key:value设置为本地存储: 如何向键“key”添加多个值?首先使用get方法,然后在get回调中使用set,将新存储数据作为键/值对添加到从get返回的存储对象中。例如: chrome.storage.local.get(function(cfg) { if(typeof(cfg["key"]) !== 'undefined' && cfg["key"] instanceof Array) { cfg["key"].push("val

我正在使用以下代码将key:value设置为本地存储:



如何向键“key”添加多个值?
首先使用
get
方法,然后在
get
回调中使用
set
,将新存储数据作为键/值对添加到从
get
返回的存储对象中。例如:

chrome.storage.local.get(function(cfg) {
  if(typeof(cfg["key"]) !== 'undefined' && cfg["key"] instanceof Array) { 
    cfg["key"].push("value");
  } else {
    cfg["key"] = ["value"];
  }
  chrome.storage.local.set(cfg); 
});

{“key1”:1,“key2”:2},你是这个意思吗?@SkalárWag它更像,{“key1”:[1,12222345]},或者类似的东西,我相信。但是我如何在chrome本地存储阵列上推送一个新值,保留旧的.get()方法,然后在回调函数中设置新的推送数组。但是如果我再次设置它,它将替换当前值,您知道代码结构如何向键添加新值,而不是重新放置它吗?谢谢。收到以下错误“响应存储时出错。get:TypeError:无法读取未定义的属性“push”。是的,这是因为您尝试推送到的数组尚不存在。在尝试推送之前,应执行阵列存在性检查,请参阅更新的答案!
chrome.storage.local.get(function(cfg) {
  if(typeof(cfg["key"]) !== 'undefined' && cfg["key"] instanceof Array) { 
    cfg["key"].push("value");
  } else {
    cfg["key"] = ["value"];
  }
  chrome.storage.local.set(cfg); 
});