Для того чтобы при добавлении объекта в localStorage не производилась перезапись, а новый объект добавлялся к уже существующим, можно использовать следующий подход:
1. Получите текущее значение из localStorage с помощью метода getItem()
и преобразуйте его в объект JavaScript.
const existingData = JSON.parse(localStorage.getItem('myData')) || [];
Обратите внимание, что мы используем оператор ||
для того, чтобы присвоить пустой массив, если значение в localStorage отсутствует или не может быть преобразовано в объект.
2. Добавьте новый объект к полученному результату.
existingData.push(newData);
3. Сохраните обновленное значение в localStorage с помощью метода setItem()
, преобразовав объект JavaScript в строку с помощью метода JSON.stringify()
.
localStorage.setItem('myData', JSON.stringify(existingData));
Теперь каждый раз при добавлении объекта newData
он будет добавляться к уже существующим объектам в localStorage, а не перезаписывать их.
Вот полный пример кода, который демонстрирует эту логику:
// Получение текущего значения из localStorage const existingData = JSON.parse(localStorage.getItem('myData')) || []; // Добавление нового объекта const newData = { name: 'John', age: 28 }; existingData.push(newData); // Сохранение обновленного значения в localStorage localStorage.setItem('myData', JSON.stringify(existingData));
Теперь в localStorage будет храниться массив объектов с каждым добавлением нового объекта.