javascript - 为什么不修改字符串的每个字符?

标签 javascript string for-loop

我不明白为什么 for 循环不修改字符串的字符。 这是

function testing (str) {
  let other_str = str
  for (let i = 0; i < other_str.length; i++) {
    other_str[i] = 'g'
  }
  return other_str;
}

console.log(testing('hey'));

我知道我可以使用其他方式,但我想了解这一点。

最佳答案

Strings are immutable ,将字符串转换为数组,进行修改并将其连接回来:

function testing(str) {
  let other_str = [...str];
  for (let i = 0; i < other_str.length; i++) {
    other_str[i] = 'g';
  }
  return other_str.join('');
}

console.log(testing('hey'));

关于javascript - 为什么不修改字符串的每个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58104216/

相关文章:

c# - 我怎样才能得到所有字符串 "greater"的列表而不是 List<string> 中的特定值?

c - 在屏幕上打印特定的数字字符串

javascript - 使用ajax更新MySQL数据库

在线性时间内用 crt 连接 C 字符串

java - 使用正则表达式分割字母数字字符串不起作用

c - 我的 for 循环序列没有以周长结束结束

java - 如何在一个长的for循环中清空所有变量,避免程序内存不足?

javascript - 仅使用类的一部分声明变量

javascript - 在 Javascript 中将文本替换为图像

javascript:这段代码的完整语法是什么?