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

'String. 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"] 

Demo (обоих): http://jsfiddle.net/TUFfS/

+0

можно показать мне документацию, где я могу изучать регулярные выражения ???? –

+0

Regex для 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

спасибо большое ... –