我尝试为字符串创建一个字符更改函数,它应该将所有的"-“更改为"_",并且它只对第一个字符这样做,并保留其余的字符。如果有人能解释的话,那就太糟了。
function kebabToSnake(str) {
var idNum = str.length;
for(var i = 0; i <= idNum; i++) {
var nStr = str.replace("-", "_");
}
return nStr;
}发布于 2019-03-24 23:06:02
var nStr = str.replace("-", "_");因此,在每次迭代中,您都要替换原始字符串中的第一个找到的-字符,而不是已经替换过的字符串。您可以只对一个重新分配的变量调用.replace:
function kebabToSnake(str) {
var idNum = str.length;
for(var i = 0; i < idNum; i++) {
str = str.replace("-", "_");
}
return str;
}
console.log(kebabToSnake('ab-cd-ef'));
(请注意,您应该从0迭代到str.length - 1,而不是从0迭代到str.length)
或者,更优雅地使用全局正则表达式:
function kebabToSnake(str) {
return str.replace(/-/g, '_');
}
console.log(kebabToSnake('ab-cd-ef'));
https://stackoverflow.com/questions/55329425
复制相似问题