gpt4 book ai didi

javascript - 我的代码有什么问题吗?每个单词的第一个字母应大写

转载 作者:行者123 更新时间:2023-12-01 02:27:20 25 4
gpt4 key购买 nike

function titleCase(str) {
var str1 = str.match(/\S+\s*/g);
var str2;
for(var i = 0; i < str1.length; i++){
str2 = str1[i].toLowerCase().replace(str1[i].charAt(0), str1[i].charAt(0).toUpperCase());
}
return str2.join(' ');
}

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

我的代码有什么问题吗? str2.join 不是函数

最佳答案

最简单的方法是在每个空格上分割字符串,然后将数组中每个元素的第一个字母设置为该字母的大写版本,然后将其连接回来。

您所做的是将结果的值分配给 str2,具有字符串类型而不是数组,这就是 join 不适合您的原因。

function titleCase(str) {
const words = str.split(' ');
for (let i = 0; i < words.length; i++) {
words[i] = words[i][0].toUpperCase() + words[i].slice(1);
}
return words.join(' ');
}

一个稍微不同的变体,有一些 ES6 的青睐:

const titleCase = str => {
const result = [];
for (const word of str.split(' ')) {
result.push(word[0].toUpperCase() + word.slice(1));
}
return result.join(' ');
};

如果您想确保制表符、换行符等空格字符正常工作,您可以使用正则表达式进行拆分或第一步将所有空白字符替换为空格,例如:

const words = str.replace(/\s/g, ' ').split(' ').filter(word => word !== '');

关于javascript - 我的代码有什么问题吗?每个单词的第一个字母应大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48637729/

25 4 0
文章推荐: javascript - 插件设置页面单选按钮无法正常工作
文章推荐: javascript - 解析 promise 状态后如何将值存储在变量中
文章推荐: javascript - React - 从返回条件中删除空 DIV
文章推荐: javascript - 如何检查内部
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com