2012-04-25 2 views
0

안녕하세요. 로컬 저장소에 추가되는 데이터를 제한해야합니다. 사용자가 첫 번째 항목을 제거해야하는 여섯 번째 항목을 추가하는 경우에만 5 개의 항목을 저장해야합니다. 나는 그 부분을 달성했지만 그것을 검색 할 때, 그것은 제거 된 데이터를 검색하고 네 번째 항목을 건너 뜁니다. 어떤 아이디어? 를 검색 할 때 내가 아 내가 언급하는 것을 잊었다로컬 스토리지에 데이터 저장을 제한하고 검색하는 방법은 무엇입니까?

for(var _x = 1; _x <= storage.length - 1; _x++) 
{ 
    var _url = storage.getItem(_x); 
} 

갱신

var _i = 0 //global; 
storage.setItem(_i, URL); 

checkLimit

if(storage.length >= 5) 
{ 
    var _a = storage.getItem(0); 
    storage.removeItem(_a); 
    _a += 1; 
} 

을 설정하는 방법

그 난에 키 인덱스를 사용할 때 항목 가져 오기 그것은 제거 된 데이터를 표시하지 않지만 어떻게 든 네 번째를 건너 뜁니다. 2

업데이트는 이제 네 번째 기록을 생략하지 않고는 제거 된 데이터를 표시하고 마지막에 추가 데이터를 표시하지 않습니다. 예컨대

the //first 
avengers //second 
are //third 
coming //fourth 
now //fifth 
excited //sixth 

내가 특히 다섯 (5) the는 목록에서 제거되어야하고 excited 추가해야으로 제한하기 때문이다. 그 잘하고 있지만, 내가 응용 프로그램을 닫고 시도 할 때

the 
avengers 
are 
coming 
now 

를 반환하고 쇼 excited 내가 감각을 만드는 중이라서하지 않는 데이터를 검색하기 위해?

답변

0

웹 저장소 키의 순서에 의존 할 수 없습니다. 이 질문을 확인하십시오 : HTML5 localStorage key order
이렇게하려면 localStorage에 저장 될 배열 객체를 사용하십시오.

+0

변경 사항이 없습니다. 나는 아직도 문제가있다. 길이가 5에 도달하거나 초과하면 항목을 제거합니다. – jongbanaag

+0

코드를 볼 수 있습니까? –

+0

답변 http://stackoverflow.com/questions/18606256/push-not-working-in-javascript?noredirect=1#comment27386544_18606256의 http://jsfiddle.net/vJkBQ/4/를 참조하십시오. 'getItemIndexById' 함수를 사용하면 도움이 될 것입니다. – Nothing

관련 문제