2013-07-08 47 views
0

我已經做了一個小sumon數學遊戲,其中我創建了9個listitems與每個listitem不同的數字,每次值更改爲頁面重新加載(隨機值來evreytime)。需要將數據存儲在localstorage內的數組中?

用戶必須點擊listItems中實現這一目標如想實現的目標是7,用戶會點擊5和2或watever達到7

現在我想做的事情時,我實現是假設我希望將其保存在本地存儲中,並且下次用戶重新啓動並實現新值時,我也希望將其存儲在本地存儲器中,所以我的觀點是每次用戶實現時在localstorage內以陣列格式存儲數據目標。

這裏是data_stack陣列,所以我想按這個currentval每次到array.Please幫助我在這裏

var currentval = eval(data_stack.join('+')); 
console.log(currentval); 

回答

1

鍵/值本地存儲(又名加起來的價值,並將其存儲到當前值Web Storage)只接受字符串。但是,您可以JSON編碼您的數組並存儲JSON,因此當您檢索它時,只需將其解碼回數組。

存儲數組作爲JSON:

// data_stack is an array 
// store as JSON 
localStorage.setItem('data_stack', JSON.stringify(data_stack)); 

檢索JSON和對其進行解碼:

var raw = localStorage.getItem('data_stack'); 
if(raw !== null) { 
    var data_stack = JSON.parse(raw); 
    // now you can push to data_stack or whatever 
    data_stack.push('xyz'); 
} 
+0

哎MrCode感謝的人,但我需要存儲的結果是增加了的數字陣列內部,所以每次我必須將結果推送到一個數組,因此我們只是將data_stack數組推向其他數組或var – Kingisback

+0

我明白你在說什麼,但不管你想在本地保留哪個數組存儲,同樣的原則適用於JSON編碼它的存儲, n JSON將其解碼回數組,您可以根據需要操作,然後存儲回本地存儲。 – MrCode

+0

@ MrCode的解決方案看起來不錯。但是,如果你試圖追加考慮保持一個恆定的關鍵indes成爲每個分數的關鍵。然後你可以獨立編碼。 – lossleader

相關問題