Javascript:删除span标记中最后出现的逗号

时间:2014-08-01 09:11:35

标签: javascript html append

我想将对象键附加到带有结果类的span标记,并用逗号分隔。但是我无法删除文本中最后出现的逗号。

Result: <span class="result"></span>

使用Javascript:

for (key in obj) {
    $(".result").append(key + ",");
}

因此,例如,代替1,2,3,它必须是1,2,3

6 个答案:

答案 0 :(得分:1)

您可以使用&#34;加入&#34;方法,以便将数组元素与它们之间的分隔符组合起来,如下所示:

var sample = ["1", "2", "3"];
console.log(sample.join(","));
//outputs: 1,2,3

它不适用于对象属性,因此您必须使用Object.keys()才能将对象转换为其属性数组(在大多数浏览器中都支持)。

$(".result").append(Object.keys(obj).join(","));

答案 1 :(得分:0)

这样做

var str = "1,2,3,"
str = str.slice(0,-1)
console.log(str) //"1,2,3"

对于你SPAN我这样做了。

$('.result').text($('.result').text().slice(0,-1))

答案 2 :(得分:0)

尝试在fiddle join()函数中的解决方案是非常方便的

// if array
var ele = ["1", "2", "3"]
$(".result").append(ele.join(","));


// if object 
var ele1 = { "a": 1, "b" :2, "c" : 3}
var value = $.map(ele1, function(k, v) { return k;}).join(",")
$(".result1").append(value)

答案 3 :(得分:0)

它将替换所有尾随&#39;。#。

 var str = "1,2,3,"
 str.replace(/,+$/g,"")

DEMO

答案 4 :(得分:0)

您也可以使用数组方法:

var test = "a,b,c,,,";
var test1 = test.split(",");
while (!test1[test1.length-1]) {
  test1.pop();
}
console.log(test1);
test = test1.join(",");
console.log(test);

答案 5 :(得分:0)

我愿意,而是:

var results = (Object.keys(obj)).join(",");
$(".result").append(results);

更简单。更高效 ;) 如果在循环中执行追加,则每次添加密钥时都会重新绘制页面。那很慢。 另外,使用Object.keys(obj)https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys),您将获得一个包含对象所有键的数组,并且您只需要将字符串中的所有元素连接起来,并用逗号分隔。那么更简洁,不是吗?