2013-06-22 82 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

更多的一般性解释非常感谢... –