Цикл и поиск по ВСЕМ пунктам в localStorage
Я пытаюсь перебрать localStorage, чтобы получить ВСЕ предметы черезlocalStorage.length
это работает с моим алгоритмом поиска. Если я изменюсь:i < localStorage.length
внутри цикла for просто число, т.е.for (i=0; i<100; i++)
вместо:(i=0; i<=localStorage.length-1; i++)
, everthing работает. Тем не менее, я понимаю, что проблема может заключаться в алгоритме поиска.
Код получения всех предметов:
<code> var name = new Array(); for (var i = 0; i <= localStorage.length - 1; i++) { // i < 100 works perfectly key = localStorage.key(i); val = localStorage.getItem(key); value = val.split(","); //splitting string inside array to get name name[i] = value[1]; // getting name from split string } </code>
Мой рабочий (!?) Алгоритм поиска:
<code> if (str.length == 0) { document.getElementById("searchResult").innerHTML = ""; } else { if(str.length > 0) { var hint = ""; for(var i=0; i < name.length; i++) { if(str.toLowerCase() == (name[i].substr(0, str.length)).toLowerCase()) { //not sure about this line if(hint == "") { hint = name[i]; } else { hint = hint + " <br /> " + name[i]; } } } } } if(hint == "") { document.getElementById("searchResult").innerHTML=str + " står inte på listan"; } else { document.getElementById("searchResult").innerHTML = hint; } } </code>
Что не так с моимlocalStorage.length
или что не так с алгоритмом поиска?