function removeCharAt(str, index) {
if (index < 0 || index >= str.length) {
return str;
}
return str.slice(0, index) + str.slice(index + 1);
}
原理说明
- 字符串类似数组结构:JavaScript字符串可以通过索引访问单个字符,就像数组一样,例如
str[0]
可以获取字符串str
的第一个字符。但字符串是不可变的,不能像数组那样直接修改其中的元素。
slice
方法:slice
方法用于提取字符串的某个部分并返回一个新字符串,不会修改原始字符串。str.slice(start, end)
中,start
是起始索引(包括),end
是结束索引(不包括)。
- 删除第一个字符:当
index
为0时,str.slice(0, 0)
返回空字符串,str.slice(1)
返回从第二个字符开始到最后的字符串,两者拼接起来就实现了删除第一个字符。
- 删除最后一个字符:当
index
为str.length - 1
时,str.slice(0, str.length - 1)
返回除最后一个字符外的所有字符,str.slice(str.length)
返回空字符串,拼接后即删除了最后一个字符。
- 超出字符串长度:如果
index
小于0或大于等于字符串长度,直接返回原始字符串,因为无法删除不存在的字符。