2014-11-04 15 views
5

Ho definito e compilato un array denominato vertices. Sono in grado di stampare l'output alla console JavaScript, come di seguito:Sostituisci caratteri nello string array Javascript

["v 2.11733 0.0204144 1.0852", "v 2.12303 0.0131256 1.08902", "v 2.12307 0.0131326 1.10733" ...etc. ] 

Tuttavia desidero rimuovere il carattere 'v' da ogni elemento. Ho provato questo utilizzando la funzione .replace() come qui sotto:

var x; 
for(x = 0; x < 10; x++) 
{ 
    vertices[x].replace('v ', ''); 
} 

Dopo la stampa della matrice alla console dopo questo codice vedo la stessa uscita come prima, con la 'del v ancora presente. Qualcuno potrebbe dirmi come risolvere questo?

+0

Ricorda che chiamando 'replace' con una stringa come primo parametro, sostituirai solo la prima istanza. In questo scenario, sembra che andrà bene, ma in futuro, se stai cercando di "sostituire tutto", il primo dovrebbe essere un'espressione regolare, come 'someString = someString.replace (/ old/g, "nuovo"); '- poiché di solito voglio fare" sostituire tutto ", ho appena preso l'abitudine di usare sempre la sintassi regex quando si chiama' replace'. –

risposta

9

stringhe sono immutabili, in modo da avere solo per riassegnare il loro valore:

vertices[x] = vertices[x].replace('v ', ''); 
+0

Grazie !! Avrei dovuto lavorarci. – petehallw

4

Dovrebbe essere

vertices[x]=vertices[x].replace('v ', ''); 

Perché sostituire rendimenti valore e non cambia iniziale stringa.

0
vertices[x] = vertices[x].replace('v ', '');