2013-10-21 31 views
0

經過長時間的工作,我想出瞭如何獲得我的ajax值。它看起來像這樣:jQuery逗號分隔字符串到對象地圖

37,58,82,

我設法如何移除最後一個逗號,並使陣列像這樣:

Object { 0="37", 1="58", 2="82"} 

但我需要它像這樣(根據螢火蟲):

[Object { trackID="track-id-37"}, Object { trackID="track-id-58"}, Object { trackID="track-id-58"},] 

我怎樣才能讓它看起來像?

+0

你用什麼代碼將'37,58,82'轉換成'Object {0 =「37」,1 =「58」,2 =「82」}''? – Nightfirecat

+0

@Nightfirecat我用 'tracks = $ .extend({},tracks);' –

回答

2

你在這裏。如果你有你的數組,你可以在它上面調用$ .map。

$.map(["37", "58", "82"], function(elem) { return { trackID: "track-id-" + elem }; }); 

還是假設你的字符串被稱爲your_string ......我們可以直接就此採取行動(我已經添加了空白,使其清楚這是怎麼回事) -

your_string = '37,58,82,'; 
$.map(your_string.split(','), function(elem) 
           { 
           if (elem != '') 
           { 
            return { trackID: "track-id-" + elem }; 
           } 
           }); 

if (elem != '')聲明是爲了防止split(',')之後的任何空數組值。 $.map容忍undefined的返回值。

也可以考慮在elem上使用$ .trim以構建空間等的公差。

$.map(your_string.split(','), function(elem) 
           { 
           var id = $.trim(elem); 
           if (id != '') 
           { 
            return { trackID: "track-id-" + id }; 
           } 
           }); 
+0

就像一個魅力!謝謝 –