Как вставить объект в массив объекта, используя электронный магазин - PullRequest
1 голос
/ 30 апреля 2019

Я хочу вставить объект в массив, в котором уже есть какой-то объект.

например, у меня есть этот объект:

{"title": "Snow White", "page": 300}

и я хочу добавить «книгу» с этим объектом, чтобы в нем было 3 объекта.

"bookmark": {
    "book": [
      {"title": "Cinderela", "page": 100},
      {"title": "Pinocchio", "page": 200}
    ]
}

Как мне этого добиться?

Если я использую этот API:

.set(key, value)

Я думаю, что он удалит существующий объект и заменит его новым предоставленным объектом.

Должен ли я использовать:

.get(key, [defaultValue])

чтобы получить все объекты в «книге», а затем добавить новый вместе с другими объектами, прежде чем отправить их обратно сразу, используя:

.set(object)

есть какой-нибудь самый простой способ, чем этот?

Любая помощь будет признательна.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

Вы можете комбинировать метод get и set для обновления данных

const book = store.get('bookmark.book');
const newBooks = [...(book || []), {"title": "Snow White", "page": 300}];
store.set('bookmark.book', newBooks);
0 голосов
/ 30 апреля 2019

Сначала вы объявляете объект с закладкой и книгой как одно из его свойств, затем вы можете добавить любые объекты в этот массив книг с помощью push (), как показано ниже

let obj = {
            bookmark: {
               book : []
            }
          }

obj.bookmark.book.push({"title": "Cinderela", "page": 100});
obj.bookmark.book.push({"title": "Pinocchio", "page": 200});
console.log(obj);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...