2014-11-04 3 views
5

Я определил и заполнил массив под названием vertices. Я могу напечатать вывод на JavaScript консоли, как показано ниже:Заменить символы в массиве строк Javascript

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

Однако я хочу, чтобы удалить «v» символ из каждого элемента. Я попытался это с помощью функции .replace(), как показано ниже:

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

При печати массива на консоль после этого кода я вижу тот же результат, как и раньше, с «v по-прежнему присутствует. Может ли кто-нибудь сказать мне, как это решить?

+0

Имейте в виду, что при вызове 'replace' в качестве первого параметра вы заменяете только первый экземпляр. В этом случае похоже, что все будет хорошо, но в будущем, если вы хотите «заменить все», первое должно быть регулярным выражением, например 'someString = someString.replace (/ old/g, «new»); '- поскольку я обычно хочу« заменить все », я просто привык всегда использовать синтаксис regex при вызове' replace'. –

ответ

9

Строки неизменны, так что вы просто должны переназначить их значение:

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

Спасибо! Я должен был это исправить. – petehallw

4

Должно быть

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

Поскольку заменить возвращает значение, и не меняет начального строка.

0
vertices[x] = vertices[x].replace('v ', ''); 
Смежные вопросы