2013-03-28 23 views
7

chcę zrobić coś takiego:ostatniej iteracji pętli w JavaScript

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

To pokazuje wynik takiego:

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

Ale chcę usunąć ostatni "" i wynik powinien być tak:

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

dlaczego nie użyć javascript join() metoda http://www.w3schools.com/jsref/jsref_join.asp –

Odpowiedz

4

Należy sprawdzić pogoda Państwo mają trafić do końca pętla (i == 10):

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

Oto skrzypce:

Fiddle

5

Możecie po prostu przetestować podczas generowania:

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

Należy pamiętać, że po uruchomieniu z tablicy, co może być twoje prawdziwe pytanie za jednego prosisz, nie jest wygodne join funkcja:

var arr = [1, 2, 3]; 
document.write(arr.join(',')); // writes "1,2,3" 
+0

Niż to kolego rozwiązał problem ..: D – Chathula

0

Spróbuj to-

str=""; 
for (var i=1; i<=10; i++) { 
    str=str+i + ","; 
} 
str.substr(0,str.length-1); 
document.write(str); 
0

Spróbuj.

var arr = new Array(); 
for (i=1; i<=10; i++) { 
    arr.push(i); 
} 
var output = arr.join(','); 
document.write(output); 
19

Należy użyć .join zamiast:

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 "," 
0
for (var i=1; i<=10; i++) { 
    if (i == 10) { 
     document.write(i); 
    } 
    else { 
     document.write(i + ","); 
    } 
} 
Powiązane problemy