내 검색 알고리즘과 함께 작동 localStorage.length
통해 모든 항목을 얻으려면 localStorage를 통해 루프를하려고 해요. 내가 변경하는 경우 : for 루프 내의 i < localStorage.length
을 단순히 숫자로 변경하십시오 (예 : (i=0; i<=localStorage.length-1; i++)
, , 대신 for (i=0; i<100; i++)
). 그러나 문제가 검색 알고리즘에있을 수도 있다는 것을 알고 있습니다.루프 및 로컬 스토리지의 모든 항목을 통해 검색
코드 받고 모든 항목 (!?)
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
}
내 작업 검색 알고리즘 :
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;
}
}
무엇 내 localStorage.length
와 잘못, 또는 무엇은 검색 알고리즘에 문제가 있습니다?
아마도이 SO 응답은 유용 할 것입니다. http://stackoverflow.com/questions/3138564/looping-through-localstorage-in-html5-and-javascript –
localStorage의 실제 길이는 얼마입니까? 100 대신에 같은 번호를 반복 해 봅니다. 생각한 프로세스는 100 이후에 저장된 데이터에 문제가있을 수 있다는 것입니다 (원하는 형식이 아님). – Ramesh
'var i'를 사용하여 전역 변수 (특히 루프 변수의 경우 매우 나쁩니다)를 만들지 마십시오. – ThiefMaster