You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript实现字符串每个字符重复两次拼接(例Abcd转AAbbccdd)

问题原因

  • 核心错误为循环内的result赋值逻辑错误:每次循环都直接用当前字符重复两次的结果覆盖result的原有值,而非将当前处理结果追加到result尾部,最终只会返回最后一个字符重复两次的结果,输入Abcd时实际输出为dd。
  • 次要问题:循环变量i未使用let/const声明,会隐式创建全局变量,存在污染全局作用域的风险。

正确实现

方案1:基于原有逻辑修改

function doubleChar(str) {
  let output = str.split("");
  let result = "";
  // 声明局部循环变量,使用+=累加处理结果
  for (let i = 0; i < str.length; i++) {
    result += output[i] + output[i]
  }
  return result
}
console.log(doubleChar("Abcd")); // 输出 AAbbccdd

方案2:简洁数组方法实现

function doubleChar(str) {
  // 拆分字符串为单字符数组,每个字符重复2次后再拼接为字符串
  return str.split('').map(char => char.repeat(2)).join('')
}

内容的提问来源于stack exchange,提问作者Jonathan Joseph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 07:21:03