2016-07-30 128 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 
相關問題