Я создаю систему заказов, в которой пользователь выберет товар и добавит его в корзину. Я использую локальное хранилище, чтобы сохранить выбранные элементы и получить их на следующей странице.
Теперь я хочу обновить сохраненные данные, если пользователь выбрал тот же элемент.
Например
Я уже сохранил
[{
"id": "1",
"name": "soap A",
"quantity": "10",
"price" : "50.00"
},
{
"id": "2",
"name": "soap X",
"quantity": "10",
"price" : "50.00"
}]
и пользователь снова выбрал элемент с id
из 1
(что составляет "soap A"
) и количеством "15"
, мой текущий результат выглядит следующим образом
[{
"id": "1",
"name": "soap A",
"quantity": "10",
"price" : "50.00"
},
{
"id": "2",
"name": "soap X",
"quantity": "10",
"price" : "50.00"
},
{
"id": "1",
"name": "soap A",
"quantity": "15",
"price" : "50.00"
}]
То, что я хотел сделать, это обновить, если объект с таким же идентификатором существует в моем локальном хранилище. это будет выглядеть так
[{
"id": "1",
"name": "soap A",
"quantity": "25",
"price" : "50.00"
},
{
"id": "2",
"name": "soap X",
"quantity": "10",
"price" : "50.00"
}]
и вот мой скрипт для вставки в локальное хранилище.
var oldItems = JSON.parse(localStorage.getItem('itemsArray')) || [];
var newItem = {
'id' : $('#itemId').val(),
'name': $('#productName').val(),
'quantity': $('#quantity').val(),
'price': $('#productPrice').val(),
};
oldItems.push(newItem);
localStorage.setItem('itemsArray', JSON.stringify(oldItems));