簡體   English   中英

js / jQuery-將數組轉換為字符串

[英]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()函數找回對象。

https://api.jquery.com/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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM