用JavaScript替换字符串数组中的字符

13

我已定义并填充了一个名为vertices的数组。我能够像下面这样将输出打印到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'仍然存在。

有人能告诉我如何解决这个问题吗?


请记住,如果将字符串作为第一个参数调用 replace 函数,则只会替换第一个匹配项。在这种情况下,看起来这样做没问题,但是在未来,如果您想要“全部替换”,则第一个参数需要是正则表达式,例如 someString = someString.replace(/old/g, "new"); - 由于我通常想要进行“全部替换”,所以我已经养成了始终使用正则表达式语法调用 replace 的习惯。 - Joe Enos
3个回答

18

字符串是不可变的,因此您只需重新分配它们的值:

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

6

应该是

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

由于 replace 方法返回值,而不会改变初始字符串。


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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接