gpt4 book ai didi

javascript - 每个单词的首字母大写,其余字母小写

转载 作者:行者123 更新时间:2023-12-02 14:42:06 28 4
gpt4 key购买 nike

我正在学习 Javascript here 。我现在的任务是获取给定的字符串并将每个单词的开头大写,如果单词的其余部分已经大写,则将其转换为小写。

到目前为止我所拥有的:

function titleCase(str){
var arrayify = str.split('');
arrayify.forEach(function(current, index){
for (var x = 0; x < current; x++){
var caps = current[x];
return caps;
}
});
}

我的测试字符串:

  • I'm a little tea pot

  • sHoRt AnD sToUt

  • HERE IS MY HANDLE HERE IS MY SPOUT

我尝试过的:

function titleCase(str){
str.split(' ').map(s => chartAt(0).toUpperCase() + s.slice(1)).join(' ');
}
<小时/>
function titleCase(str){
return this.replace(/\w\S*/g, function(txt){return txt.chartAt(0).toUpperCase} + txt.substr(1).toLowerCase();});
};

每次我使用 =>它告诉我我需要 esversion:6以便运行它。

我的问题是,我做错了什么,最惯用的方法是什么?

用照片证明我没疯:

enter image description here

最佳答案

要详细说明现有解决方案的问题,它们几乎可以工作,但存在以下问题:

function titleCase(str){
// missing `s.`--------v v---extra "t"
str.split(' ').map(s => chartAt(0).toUpperCase() + s.slice(1)).join(' ');
//^---missing return statement |---missing toLowerCase() call---^
}
<小时/>
function titleCase(str) {
// -----v--should be `str`
return this.replace(/\w\S*/g, function(txt){
// ------------v--extra "t" |----v--- extra "}"
return txt.chartAt(0).toUpperCase} + txt.substr(1).toLowerCase();
// ---missing `()` -------------^
});
};
<小时/>

以下是修复版本:

function titleCase(str){
return str.split(' ').map(s => s.charAt(0).toUpperCase() + s.slice(1).toLowerCase()).join(' ');
}
<小时/>
function titleCase(str) {
return str.replace(/\w\S*/g, function(txt){
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});
}

关于javascript - 每个单词的首字母大写,其余字母小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36924704/

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