我想将对象键附加到带有结果类的span标记,并用逗号分隔。但是我无法删除文本中最后出现的逗号。
Result: <span class="result"></span>
使用Javascript:
for (key in obj) {
$(".result").append(key + ",");
}
因此,例如,代替1,2,3,它必须是1,2,3
答案 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)
答案 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),您将获得一个包含对象所有键的数组,并且您只需要将字符串中的所有元素连接起来,并用逗号分隔。那么更简洁,不是吗?