Boucle & amp; recherche dans TOUS les éléments de localStorage
Je suis en train de faire une boucle par localStorage pour obtenir TOUS les éléments à travers localStorage.length
qui fonctionne avec mon algorithme de recherche. Si je change d': i < localStorage.length
à l'intérieur de la boucle for pour simplement un nombre, je.e: for (i=0; i<100; i++)
au lieu de: (i=0; i<=localStorage.length-1; i++)
everthing œuvres. Cependant, je me rends compte que le problème pourrait résider dans l'algorithme de recherche.
Le code de l'obtention de tous les éléments:
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
}
Mon travail (!?) algorithme de recherche de:
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;
}
}
Quel est le problème avec mon localStorage.length
ou ce qui est mal avec l'algorithme de recherche?
source d'informationauteur Jonathan | 2012-04-10
Vous devez vous connecter pour publier un commentaire.
localStorage est un
object
pas unarray
.Essayez
for(var i in window.localStorage)
:Problème maintenant RÉSOLU. Le problème est que chaque fois que les données ont été sauvegardées à localStorage, un item vide a été stockés au fond de la bd locale comme une conséquence d'un mal écrit pour la boucle (dans le setItem partie.) arrayIndex < guestData.la longueur doit avoir été arrayIndex < guestData.longueur-1. arrayIndex < guestData.longueur-1 stocke tous les éléments sans créer un item vide au bas de la base de données qui, plus tard, foiré l'algorithme de recherche, comme le dernier de la valeur de la recherche était pas défini (le vide).