2016-07-30 136 views
0

如果我有一个类似[[AAA],[BBB],[CCC]]的数组,以及在每一个除了jquery/JS中的最后一个以外的浏览器后都显示一个逗号,我该如何使用函数下面?现在,它为包含最后一个元素的数组中的所有元素添加一个逗号,并且我不希望它在最后一个元素上。删除数组中最后一个元素的逗号?

JS

if(designations) { 
     var newLinks = designations.map(function(agentDesignations){ 
      agentDesignations = agentDesignations.toLowerCase(); 
      return '<a class = "designation-box" data-toggle = "modal" data-target = "#' + agentDesignations + '-modal" data-value = '+ agentDesignations + '>' + agentDesignations + '</a>' + ',\n'}); 
     return newLinks.join("\n"); 
    } 

回答

0

Shold您使用正则表达式+$

return newLinks.join("\n").replace(/,+$/,''); 
0

解决删除 “\ n” 从地图上的回报,改变最后返回newLinks.join(",\n\n")

是这样的:

if(designations) { 
     var newLinks = designations.map(function(agentDesignations){ 
      agentDesignations = agentDesignations.toLowerCase(); 
      return '<a class = "designation-box" data-toggle = "modal" data-target = "#' + agentDesignations + '-modal" data-value = '+ agentDesignations + '>' + agentDesignations + '</a>'; 
     }); 
     return newLinks.join(",\n\n") + '\n'; 
    } 

有两个“\ n”的加入,因为这是你最后会如何处理目前

更简洁,我如下的代码如下:

if(designations) { 
     return designations.map(function(agentDesignations){ 
      agentDesignations = agentDesignations.toLowerCase(); 
      return '<a class = "designation-box" data-toggle = "modal" data-target = "#' + agentDesignations + '-modal" data-value = '+ agentDesignations + '>' + agentDesignations + '</a>'; 
     }).join(",\n\n") + '\n'; 
    } 

注:两个\ n的VS一个\ n的有作出最终HTML的渲染没有区别,所以最后一行可以简单地

}).join(",\n") + '\n'; 

甚至

}).join(", "); // note the SPACE, it does make a difference 
相关问题