在下面的循环中,如何从循环中的latt键中删除逗号?
var result = 'These are the results: ';
jQuery.each(item['keyterms']['terms'],function(i,kw){
for (key in keywords){
sep = ',';
if (keywords[key] > 5) result += '<span>' + key + sep + '</span>';
}}
答案 0 :(得分:8)
您可以使用标准的javascript函数JOIN
,而不是在循环内插入逗号var results = Array();
for (key in keywords){
if (keywords[key] > 5) results.push('<span>' + key + '</span>');
}
var message = 'These are the results: ' + results.join(',');
答案 1 :(得分:1)
简单 - 不是将放在之后的,而是将放在之前,然后跳过第一个元素(更容易知道元素的第一个元素,而不是当它是最后一次):
var first = true;
var result = '';
for (key in keys) {
var sep = first ? '' : ', ';
result += sep + key;
first = false;
}
答案 2 :(得分:1)
请注意,对于JS中的字符串连接,数组join(separator)方法比+运算符更快。所以我推荐Nazariy的解决方案。稍作改动:
var result = Array();
for (key in keywords){
if (keywords[key] > 5) result.push(['<span>', key, sep, '</span>'].join(''));
}}
result = result.join(',');
答案 3 :(得分:0)
如果您只关心如何删除最后一个分隔符,那么这应该有效:
jQuery.each(item['keyterms']['terms'],function(i,kw){
for (key in keywords){
sep = ',';
if (keywords[key] > 5) result += '<span>' + key + sep + '</span>';
}}
result = result.substring(0, result.length - (sep+"</span>").length) + "</span>");
否则,Nazariy的连接解决方案是创建整个字符串的更好方法。
答案 4 :(得分:0)
你为什么要添加它?
var result = 'These are the results: ';
jQuery.each(item['keyterms']['terms'],function(i,kw){
var sep = '';
for (key in keywords){
if (keywords[key] > 5) result += '<span>' + sep + key + '</span>';
sep = ',';
}}