gpt4 book ai didi

javascript - 免费编程营挑战 - 标题案例 A 句子

转载 作者:行者123 更新时间:2023-11-28 03:47:09 26 4
gpt4 key购买 nike

我目前正在经历免费代码营的第一个 JS 挑战。

我在标题为“句子首字母大写”的挑战中遇到了问题。在这个挑战中,我需要编写一个函数,将给定字符串中单词的每个第一个字母大写,并将所有其他字母小写。 Here's挑战链接我编写了以下代码,试图完成以下任务:

分割|str|到字母数组

定义局部变量|toCAP|对于空格后面的每个字母 |""|

如果字母出现在空格之后

大写|字母|

推|信|相反

其他

|信|定义为字母

|信|是小写的

|信|被推送到字母索引

返回不带空格的数组

function titleCase(str) {
str.toLocaleLowerCase();
var letterArray = str.split("");
var letter = "";
for (var i = 0; i < letterArray.length; i++) {
if (i == 0) {
letter = letterArray[0];
letter.toUpperCase();
letterArray[0] = letter;
} else if (letterArray[i - 1] == " ") {
letter = letterArray[i];
letter.toUpperCase();
letterArray[i] = letter;
}
}
return letterArray.join("");
}

titleCase("I'm a little tea pot");

为什么第二个条件不起作用,将每个单词的第一个字母大写?

最佳答案

这是使用 forEach 循环而不是传统 for 循环的替代方法 - 首先将传递的字符串拆分为单词,然后将每个单词拆分为字母。将第一个字母大写,并将所有字母放入返回的数组中。

function titleCase(str) {
var wordArray = str.toLowerCase().split(" ");
var sentenceArray = [];

wordArray.forEach(function(word) {
var letters = word.split('');
letters[0] = letters[0].toUpperCase();
sentenceArray.push(letters.join(''))
})
return sentenceArray.join(" ");
}

console.log(titleCase("I'm a little tea pot"));
console.log(titleCase("sHoRt AnD sToUt"));
console.log(titleCase("HERE IS MY HANDLE HERE IS MY SPOUT"));

关于javascript - 免费编程营挑战 - 标题案例 A 句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48354088/

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