如何将字符串隔位字符(从第二个起)替换为"K"?解决name变量deprecated问题
问题解决及代码修正
核心问题说明
- 变量
name被标记deprecated:浏览器环境中,全局作用域的name是window对象的内置属性(用于标识窗口名称),用它做自定义变量会触发IDE的废弃提示,更换变量名即可解决。 - 字符串替换不生效:JavaScript里字符串属于不可变类型,直接通过下标修改字符不会产生效果,需要通过拼接字符串或转数组修改后再转回字符串的方式实现。
修正后的代码
字符串拼接方式
let str = "mellow"; let result = ""; for (let x = 0; x < str.length; x++) { // 第二个字符对应下标1,每隔一个即下标为奇数的位置 result += x % 2 !== 0 ? "K" : str[x]; } console.log(result); // 输出: mKllKw
数组转换方式
let str = "mellow"; let arr = str.split(""); for (let x = 0; x < arr.length; x++) { if (x % 2 !== 0) { arr[x] = "K"; } } let result = arr.join(""); console.log(result); // 输出: mKllKw
额外提示
- 循环变量
x必须用let声明,避免意外成为全局变量引发潜在问题。 - "从第二个字符开始每隔一个"对应下标为奇数的位置(因为字符串下标从0开始),判断条件
x % 2 !== 0逻辑正确。
内容的提问来源于stack exchange,提问作者SeriouslyMello
相关产品推荐
相关产品推荐

