2012-03-22 3 views

답변

0

당신은 localStorage 객체처럼 취급된다는 사실을 활용하고 할 수있는 이 같은 (자신의 이름을 키를 반복 및 확인은) :

​for(dataObj in localStorage) { 
    if(dataObj.charAt(0) == Q && dataObj.charAt(1) == Q) { 
     // do whatever with your data object, it starts with QQ 
     var myObj = localStorage[dataObj]; 
    } 
}​ 

또한이에 if 문을 변경할 수 있습니다 :

if(dataObj.substr(0,2) == "QQ") { // do your thing 

substr() 설명서에 대한 참조가 없으므로 올바른 구문인지 기억하지 마십시오.

+0

. varmyObj를 사용하면 모든 레코드가 아닌 마지막 레코드 만 캡처됩니다. 모든 기록을 어떻게 캡처합니까? –

+0

for 루프는 모든 레코드를 한 번에 하나씩 처리한다는 의미입니다. 루프가 반복 될 때마다 'myObj'는 현재 레코드를 보유합니다. 그게 이해가되지 않는다면 for 루프를 읽어야한다. –

+0

- 의미가 있습니다. { "ID": 68, "City": New York} City의 가치를 얻으려면 어떻게해야합니까?내가 했어 var myObj = localStorage [dataObj]; 알림 (myObj.City); 하지만 작동하지 않습니다. 그것은 undefined를 보여줍니다. –

0

데이터베이스 (키 - 값 쌍용)가 아닌 저장소와 함께이 작업을 수행해야합니다. IndexedDB 또는 Web SQL을 키워드로 검색하십시오.

+0

내가 오프라인 일 때 로컬 db를 사용해야하고 로컬 db가 정보를 저장합니다. –

+0

@NatePet이 그의 답변에 잘못 인도하지 마십시오. 'localStorage'는 완벽하지는 않지만, 소량의 데이터가있을 때 이러한 시나리오에서 확실히 작동 할 수 있습니다. IndexedDB와 WebSQL은 모두 오프라인에서도 작동하지만 'localStorage'만큼 지원되지 않습니다. 그들은 더 크고/더 나은 데이터 저장을 위해 건축된다. http://html5doctor.com/introducing-web-sql-databases/ http://www.html5rocks.com/en/tutorials/indexeddb/todo/ –

0

Sencha Touch와 Backbone과 같은 많은 프레임 워크에는 localStorage을 사용하여 DB 기능을 시뮬레이션하는 몇 가지 기본 기능이 있습니다. 당신이 당신의 자신의 솔루션을 출시하게 된 것을 기쁘게 생각하면 좀 더 이런 일을 제안 :

// get the user store 
var users = getUsers(); 
var john = user["john1234"]; 

// get all of the existing users 
function getUsers() { 
    return JSON.parse(window.localStorage.users) || {}; 
} 

// save users 
function saveUsers(users) { 
    window.localStorage.users = JSON.stringify(users); 
} 

// add a user 
function addUser(user) { 
    var id = user.id || new Date().getTime(); 
    users[id] = user; 
} 

그래서 내 제안을 대신

표준 사용하여 별도의 수집 또는 저장으로 구분 된 문자열에 따라 일을 함께하다

이것은 귀하의 질문에 대한 구체적인 대답은 결코 아니지만 도움이 될 것입니다!

1

localStorage에 배열을 저장할 수 있습니다. (내가 Jsonify를 관리하지 않았습니다. 당신은 논문 작업을 용이하게하기 위해 Lawnchair를 사용할 수있는) 것을 같은

뭔가

window.localStorage.setItem('QQ', {items: [] }); 

function addItem(id, json) { 
    var o = window.localStorage.getItem('QQ'); 
    o.items[id] = json; 
    window.localStorage.setItem(o); 
} 

function getItem(id) { 
    return window.localStorage.getItem('QQ').items[id]; 
} 

function getAllItems() { 
    return window.localStorage.getItem('QQ').items; 
} 

function printAllItems() { 
    var all = getAllItems(); 
    for (id in all) { 
    console.log(id +" => "+ all[id]); 
    } 
} 
+0

getAllItems()에 대해 시작하는 모든 항목을 가져 오는 방법을 지정하려면 어떻게해야합니까? QQ와 함께? Thaks –

+0

"QQ 관련"항목은 모두 localstorage의 'QQ'항목에 배열로 저장됩니다. 귀하의 회신에 감사드립니다. –

관련 문제