2013-03-28 13 views
7

voglio fare qualcosa di simile:Ultima iterazione di un ciclo in JavaScript

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

Essa mostra un risultato simile:

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

Ma io voglio rimuovere l'ultimo "" e il risultato dovrebbe essere simile a questo:

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

Perché non si utilizza javascript metodo join() http://www.w3schools.com/jsref/jsref_join.asp –

risposta

4

Si dovrebbe verificare wether che hanno colpito la fine del il loop (i == 10):

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

Ecco un violino:

Fiddle

5

si potrebbe semplicemente provare durante la generazione:

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

Si noti che quando si parte da una matrice, che potrebbe essere la tua vera domanda dietro quello che chiedete, v'è la comoda join funzione di:

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

Thanx compagno esso risolto il problema ..: D – Chathula

0

Prova questo-

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

provarlo.

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

Si dovrebbe usare .join invece:

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 + ","); 
    } 
} 
Problemi correlati