Как удалить данные из объекта, используя хранилище Chrome?
У меня есть объект, хранящийся в хранилище Chrome, который выглядит следующим образом:
{
"planA":
{
123: {key: 'some key'}
124: {key: 'some other key'}
},
"planB":
{
223: {key: 'some key'}
234: {key: 'some other key'}
}
}
я хочу сделать что-то вроде chrome.storage.sync.remove([{"planA": "123"}]);
но это, кажется, не работает Error in response to storage.get: Error: Invalid value for argument 1. Value does not match any valid type choices.
из документации StorageArea.remove(string or array of string keys, function callback)
муравьиные идеи?
1 ответ
Решение
Вы не можете сделать это за один вызов API. API предоставляет доступ только к ключам верхнего уровня: вы можете получить или установить planA
в целом.
Поэтому вам нужно написать свои собственные функции get/set, которые извлекают требуемый ключ верхнего уровня, изменяют объект по мере необходимости и сохраняют его обратно.