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

JS字符串交替替换问题:如何实现指定位置字符替换为!和?

解决JavaScript字符串替换问题:从T!d!y到T!d?y

你的代码目前会把字符串"Teddy"中索引1和3的字符都替换成!,所以得到T!d!y。要得到T!d?y,需要区分这两个位置的替换字符:

方案一:直接指定索引替换(最直观)

function change(str) {
    const newString = str.split("");
    newString[1] = "!"; // 替换第二个字符(索引1)为!
    newString[3] = "?"; // 替换第四个字符(索引3)为?
    return newString.join("");
}

console.log(change("Teddy")); // 输出T!d?y

方案二:保留循环并添加判断

如果想通过循环实现,可以在循环里判断当前索引,对应替换不同符号:

function change(str) {
    const newString = str.split("");
    for (let i = 1; i < newString.length - 1; i += 2) {
        newString[i] = i === 1 ? "!" : "?";
    }
    return newString.join("");
}

console.log(change("Teddy")); // 输出T!d?y

补充说明

  • 给newString加上const声明,避免创建全局变量,这是JS的良好编码习惯。
  • 字符串索引从0开始,"Teddy"的索引对应:0=T,1=e,2=d,3=d,4=y,替换索引1和3就能得到目标结果。

内容的提问来源于stack exchange,提问作者Hazel D

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 22:45:34