繁体   English   中英

删除我数组中最后一个元素的逗号?

[英]Remove comma on last element in my array?

如果我有一个像[“ 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");
    }

通过使用正则表达式+$来解决问题

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

从地图的返回值中删除“,\\ 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与一个\\ n对结果HTML的呈现没有影响,因此最后一行可以简单地是

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

甚至

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM