gpt4 book ai didi

javascript - 使用循环和函数 javascript 将文本更改为驼峰式大小写

转载 作者:行者123 更新时间:2023-11-28 13:36:36 25 4
gpt4 key购买 nike

我正在尝试使用函数将文本更改为驼峰式大小写。文本中的连字符表示字母需要大写的位置。即 "this-has-been-camel-cased" 将变为 thisHasBeenCamelCased。我已经更改了每个单词,并希望使用 += 将它们作为连接字符串返回。但是,当我尝试返回字符串时,+= 无法识别,或者我收到一条错误消息,指出“未定义 fullWord”。这很奇怪,因为当我在循环内提​​醒它时,var fullWord 被识别出来了?

这里的错误来自哪里。我该如何纠正它?

谢谢

function camelize(str) {
var wordArr = str.split('-');
for (var i = 0; i < wordArr.length; i++) {
var ltrArr = wordArr[i].split('');
var firstLtr = ltrArr[0].toUpperCase();
var endWord = ltrArr.slice(1).join('');
var fullWord = firstLtr.concat(endWord);
var newStr += fullword;
}
return newStr;
}

alert(camelize('this-has-been-camel-cased'));

最佳答案

更简单的替代方案:

'this-has-been-camel-cased'.replace(/-./g, function (m) {
return m[1].toUpperCase();
});

这是一个函数:

function camelize(input, splitter) {
if (!splitter) splitter = '-';
return input.replace(new RegExp(splitter + '.', 'g'), function (m) {
return m[1].toUpperCase();
});
}

以及“无正则表达式”版本:

function camelize(input, splitter) {
var i = 0;
if (!splitter) splitter = '-';
input = input.split(splitter);
while (++i < input.length) {
input[i] = input[i].charAt(0).toUpperCase() + input[i].slice(1);
}
return input.join('');
}

使用示例:

camelize('az-er-ty') // "azErTy"
camelize('az er ty', ' ') // "azErTy"

关于javascript - 使用循环和函数 javascript 将文本更改为驼峰式大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20910015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com