Как удалить данные из объекта, используя хранилище 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, которые извлекают требуемый ключ верхнего уровня, изменяют объект по мере необходимости и сохраняют его обратно.

Другие вопросы по тегам