jQuery逗号将字符串分隔为对象映射

时间:2013-10-21 21:44:46

标签: javascript jquery

经过长时间的工作,我想出了如何获得我的ajax值。它看起来像这样:

  

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"},]

我怎样才能看起来像?

1 个答案:

答案 0 :(得分: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 }; 
                                } 
                              });