Как мне получить все элементы из localstorage, чтобы и 999 и 1 индекс отображался
Я добавляю в localstorage элемент с индексом например 12. И если я проверяю length localstorage я получаю например 1. И тогда мне показывает что элемент не найден. Как мне получить все элементы из localstorage, чтобы и 999 и 1 индекс отображался. Постоянно натыкаюсь на эту проблему. Во всех прошлых проектах так и не решил.
async function setLocalStorage() {
localStorage.setItem(index, item.id);
console.log(localStorage.length);
let i = 0;
for (i; i <= localStorage.length; i++) {
console.log(localStorage[i]);
}
}
Ответы (1 шт):
Автор решения: Хацкер
→ Ссылка
for(var i=0; i<10; i++){
var id = i;
var item = i*10;
localStorage.setItem(id, item);
}
for(var item in localStorage){
console.log(item);
}
!НО, как я писал выше, localStorage - объект, со своими свойствами и методами. Поэтому, в консоль выводятся не только установленные нами свойства. Я бы поступил так:
var arr = []
for(var i=0; i<10; i++){
var item = i*10;
arr.push(item);
}
arr = JSON.stringify(arr);
localStorage.setItem('items', arr);
var getArr = localStorage.getItem('items');
getArr = JSON.parse(getArr);
for(var i=0; i<getArr.length; i++){
console.log(getArr[i]);
}
Здесь необходимо перед записью преобразовать наш массив в JSON, иначе он запишется как строка