[英]js/jQuery - Converting array to string
我用來存儲到本地存儲中的兩個下拉列表存儲為數組。 如果檢測到任何數組,該如何將其轉換到什么地方,然后將其轉換並存儲為字符串呢?
像這樣嗎
if( Object.prototype.toString.call( value ) === '[object Array]' ) {
value.toString();
}
請看我的小提琴: http : //jsfiddle.net/3u7Xj/137/
顯示為存儲為: http : //i.imgur.com/L78kGE7.jpg
本地存儲功能:
save = function () {
$('input, select, textarea').each(function () {
var value = $(this).val();
var name = $(this).attr('name');
if($(this).hasClass('checkers')){
value = $(this).is(":checked")
if(value){
value='on';
}else{
value='off';
}
}
if(this.name.match(/^multiselect_/)){//removes buggy append
return false;
}
console.log('Saving');
console.log(name + ':' + value);
Survey[name] = value;
});
if (localStorage.getObj('Surveys') != null) {
Surveys = localStorage.getObj('Surveys');
}
Surveys[$('#FirstName').val() + '.' + $('#LastName').val()] = Survey; //store in big list
localStorage.setObj('Surveys', Surveys);
}
將數組轉換為字符串的最簡單方法是array.join()。 就像這樣調用,您將得到一個逗號分隔的字符串,其中包含數組中的所有元素。 如果提供分隔符(例如array.join('|')),則會得到一個以您提供的分隔符分隔的字符串。 這取決於您的保存功能。
我建議使用jQuery.encodeJSON()
http://forum.jquery.com/topic/jquery-encodejson
這樣,您可以將對象存儲為JSON字符串。
然后,您可以使用jQuery.parseJSON()函數找回對象。
如果我理解正確,我想這可能會起作用:
使用Array.isArray方法,然后使用JSON.stringify將數組轉換為字符串。
for (var key in this) {
//console.log(key, this[key]); //log to console
if($.isArray(this[key])) {
this[key] = this[key].join(':'); //change array to string separated by :
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.