Javascript 替换数组中的字符串

Javascript 替换数组中的字符串,javascript,arrays,Javascript,Arrays,我想用另一个字符串替换数组中的字符串。 在我的示例中,cat应替换为mouse: var arr1 = [ "dog", "cat"]; for(i=0; i<arr1.length; i++){ arr1[i].replace("cat", "mouse"); } var arr1=[“狗”、“猫”]; 对于(i=0;i),这是因为需要将替换结果重新分配回元素: var arr1 = [ "dog", "cat"]; for(i=0; i<arr1.length; i

我想用另一个字符串替换数组中的字符串。
在我的示例中,
cat
应替换为
mouse

var arr1 = [ "dog", "cat"];

for(i=0; i<arr1.length; i++){
    arr1[i].replace("cat", "mouse");
}
var arr1=[“狗”、“猫”];

对于(i=0;i),这是因为需要将替换结果重新分配回元素:

var arr1 = [ "dog", "cat"];

for(i=0; i<arr1.length; i++){
    arr1[i] = arr1[i].replace("cat", "mouse");
}
var arr1=[“狗”、“猫”];
for(i=0;i
.replace()
返回一个新字符串

发件人:

replace()方法返回一个新字符串,其中包含替换所替换模式的部分或全部匹配项

所以你应该这么做


arr1[i]=arr[i]。替换(“猫”、“鼠标”);

字符串immutable@Oriol:嗯,你的链接没有正确回答这个问题。在我看来,他应该使用splice而不是replace,因为这是一个数组问题而不是一个直字符串问题。arr1.splice(arr1.indexOf('cat'),1,'mouse'));@JohnGreen将第一个
'cat'
数组项替换为
'mouse'
。大概,OP想将每个字符串数组项的第一个
'cat'
子字符串替换为
'mouse'
。不完全相同。@Oriol不,我会将其放入一个循环,这是我在有人c之前在较长的解释中写的丢失了线程。@JohnGreen抱歉,但我仍然认为这是一个骗局,因为它问的是为什么
replace
不起作用,而不是替换的方法。如果你有一个替代代码,可以在没有
replace
的情况下解决问题,你可以发布一个新的自我回答问题,并将其链接到评论中。