2013-06-22 80 views
2

我已將一些數據存儲在名爲Test的值中,如this fiddle及以下所示。html5本地存儲拆分JSON.stringify數據

var test = "yellow,green"; 
    var storedTest = localStorage.setItem("Test", JSON.stringify(test)); 
    $('body').append('color:' + localStorage.getItem('Test')); 

目前我的HTML輸出

color:"yellow,green" 

但我希望能夠因此它輸出到分裂我的變量。

color:"yellow", color:"green" 

爲了達到這個目的我需要做些什麼?

+0

'字符串。 split(',')'是你正在尋找的東西。 –

+1

你可以改變你保存它的方式。使它成爲一個對象數組。 '[{color:'yellow'},{color:'green'}]' – Ohgodwhy

回答

2

那麼你可以這樣做:

$('body').append('color:' + 
       localStorage.getItem('Test').replace(/,/g,'", color: "') + '"') 

也就是說,與文本", color: "(其中雙引號替換字符串的一部分)替換每個逗號,以及把'color:'開頭和最後雙引號。

如果你想獲得個人色彩到一個數組,這樣就可以在你可以做到這一點其他方式對其進行處理:

var colorArray = JSON.parse(localStorage.getItem('Test')).split(','); 
// gives ["yellow", "green"] 

演示(兩者):http://jsfiddle.net/TUFfS/

+0

你能告訴我一個文檔,我可以學習正則表達式嗎? –

+0

正則表達式JavaScript解釋[在MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions)(另請參閱['.replace()'函數](https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace))。 http://www.regular-expressions.info/ – nnnnnn

+0

更多的一般性解釋非常感謝... –