替换字符串数组Javascript中的字符
我已经定义并填充了一个名为替换字符串数组Javascript中的字符,javascript,arrays,string,replace,Javascript,Arrays,String,Replace,我已经定义并填充了一个名为顶点的数组。我可以将输出打印到JavaScript控制台,如下所示: ["v 2.11733 0.0204144 1.0852", "v 2.12303 0.0131256 1.08902", "v 2.12307 0.0131326 1.10733" ...etc. ] var x; for(x = 0; x < 10; x++) { vertices[x].replace('v ', ''); } 但是,我希望从每个元素中删除“v”字符。我已尝试使
顶点
的数组。我可以将输出打印到JavaScript控制台,如下所示:
["v 2.11733 0.0204144 1.0852", "v 2.12303 0.0131256 1.08902", "v 2.12307 0.0131326 1.10733" ...etc. ]
var x;
for(x = 0; x < 10; x++)
{
vertices[x].replace('v ', '');
}
但是,我希望从每个元素中删除“v”字符。我已尝试使用.replace()
函数,如下所示:
["v 2.11733 0.0204144 1.0852", "v 2.12303 0.0131256 1.08902", "v 2.12307 0.0131326 1.10733" ...etc. ]
var x;
for(x = 0; x < 10; x++)
{
vertices[x].replace('v ', '');
}
varx;
对于(x=0;x<10;x++)
{
顶点[x]。替换('v','');
}
在这段代码之后将数组打印到控制台时,我看到了与之前相同的输出,并且“v”仍然存在
有谁能告诉我如何解决这个问题吗?字符串是不可变的,因此您只需重新分配它们的值:
vertices[x] = vertices[x].replace('v ', '');
应该是
vertices[x]=vertices[x].replace('v ', '');
因为replace返回值,并且不会更改初始字符串。请记住,使用字符串作为第一个参数调用
replace
,只会替换第一个实例。在这个场景中,这看起来很好,但是在将来,如果您希望“全部替换”,那么第一个需要是正则表达式,比如someString=someString.replace(/old/g,“new”)代码>-由于我通常想执行“全部替换”,所以在调用replace
时,我养成了始终使用正则表达式语法的习惯。
vertices[x] = vertices[x].replace('v ', '');