我在创建一个将字符串的第一个字母大写的函数时遇到了问题。当我输入小写单词时,我可以将字符串大写,但不能大写。我非常感谢您对这个问题的帮助,请参阅下面的脚本:
function captialise(str) {
str = prompt("Enter a string");
console.log(str[0].toUpperCase() + str.substring(1))
}
captialise();
答案 0 :(得分:2)
第一个字符大写,其余字符小写。该代码段使用了更现代的脚本(该函数使用了 template literal)
const capitalize = str => str.slice
? `${str.slice(0,1).toUpperCase()}${str.slice(1).toLowerCase()}`
: str;
const str1 = `someSTRING`;
const str2 = `someotherstring`;
const str3 = `s23omeotherstring`;
const str4 = prompt('enter something');
console.log(capitalize(str1));
console.log(capitalize(str2));
console.log(capitalize(str3));
console.log(capitalize(str4));
答案 1 :(得分:2)
有很多方法可以做到,我相信以前在这里问过很多次, 这是一行:
function captialise(str) {
str = prompt("Enter a string");
console.log(`${str[0].toUpperCase()}${str.substring(1).toLowerCase()}`);
}
captialise();
答案 2 :(得分:0)
合乎逻辑的问题是你把第一部分大写,是的,但你没有降低其他部分
function captialise(str) {
str = prompt("Enter a string");
console.log(str[0].toUpperCase() + str.substring(1).toLowerCase())
}
captialise();
答案 3 :(得分:0)
建议让函数返回您命名的内容。
您也需要将字符串的其余部分小写,我会首先测试您是否有一个字符串
我选择使用 + 而不是模板文字,因为在这个简单的情况下更容易阅读
const captialise = str => str && typeof str === "string" ?
str.slice(0,1).toUpperCase() + str.slice(1).toLowerCase() :
str;
console.log(
captialise(prompt("Enter a string"))
)