Javascript 替换字符串索引处的字符
为什么下面的代码对我不起作用?我不能在字符串中的特定索引处重新赋值吗Javascript 替换字符串索引处的字符,javascript,Javascript,为什么下面的代码对我不起作用?我不能在字符串中的特定索引处重新赋值吗 function replaceChar (str) { let i for (i = 0; i < str.length; i++) { if (str[i] == '-') { str[i] = ' ' } } return str } 函数replaceChar(str){ 让我 对于(i=0;ich===“-”?”:ch.join(“”); } 控制台日志(repl
function replaceChar (str) {
let i
for (i = 0; i < str.length; i++) {
if (str[i] == '-') {
str[i] = ' '
}
}
return str
}
函数replaceChar(str){
让我
对于(i=0;i
字符串在JavaScript中是不可变的。您必须创建一个新字符串:
str = str.substring(0, i) + ' ' + str.substring(i + 1);
如果经常这样做,可以将字符串转换为字符数组,进行替换,然后将数组转换回字符串。以下是一个ES2015+示例:
函数replaceChar(str){
return[…str].map(ch=>ch===“-”?”:ch.join(“”);
}
控制台日志(replaceChar(“testing-1-2-3”)代码>字符串在Javascript中是不可变的-您不能更改单个字符。如果要执行类似操作,必须先将字符串显式转换为数组,执行更改,然后再次将数组合并回字符串:
函数replaceChar(str){
str=[…str];
让我
对于(i=0;i
您可以同时使用split()
和join()
。按-
拆分字符串并按
加入数组
str.split("-").join(" ");