7

我想做这样的事情:

for (var i=1; i<=10; i++) {
   document.write(i + ",");
}

它显示如下结果:

1,2,3,4,5,6,7,8,9,10,

但是我想去掉最后一个“,”,结果应该是这样的:

1,2,3,4,5,6,7,8,9,10
4

6 回答 6

19

您应该.join改用:

var txt = [];                          //create an empty array
for (var i = 1; i <= 10; i++) {
    txt.push(i);                       //push values into array
}

console.log(txt.join(","));            //join all the value with ","
于 2013-03-28T08:09:48.970 回答
5

您可以在生成时简单地测试:

for (var i=1; i<=10; i++) {
   document.write(i);
   if (i<9)  document.write(',');
}

请注意,当您从数组开始时,这可能是您提出的问题背后的真正问题,有一个方便的join功能:

var arr = [1, 2, 3];
document.write(arr.join(',')); // writes "1,2,3"
于 2013-03-28T08:05:32.640 回答
5

您应该检查是否已到达循环末尾( i == 10):

for (var i=1; i<=10; i++) {
    document.write(i + (i==10 ? '': ','));
}

这是一个小提琴:

小提琴

于 2013-03-28T08:06:41.097 回答
0

试试这个-

str="";
for (var i=1; i<=10; i++) {
   str=str+i + ",";
}
str.substr(0,str.length-1);
document.write(str);
于 2013-03-28T08:07:21.113 回答
0

尝试一下。

 var arr = new Array();
 for (i=1; i<=10; i++) {
    arr.push(i);
 }
 var output = arr.join(',');
 document.write(output);
于 2013-03-28T08:09:15.363 回答
0
for (var i=1; i<=10; i++) {
    if (i == 10) {
        document.write(i);
    }
    else {
        document.write(i + ",");
    }
}
于 2013-03-28T08:10:48.823 回答