Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
标题大小写JavaScript_Javascript_Arrays_For Loop_Lowercase_Charat - Fatal编程技术网

标题大小写JavaScript

标题大小写JavaScript,javascript,arrays,for-loop,lowercase,charat,Javascript,Arrays,For Loop,Lowercase,Charat,我试图创建一个函数,在toLowerCase()输入之后,它将把数组中每个元素的第一个字母大写 function title_case ( String ) { var result = ""; var text = String.toLowerCase().split(" "); for (var i = 0; i < text.length; i++) { var c = text[i].charAt(0).toUpperCase();

我试图创建一个函数,在toLowerCase()输入之后,它将把数组中每个元素的第一个字母大写

function title_case ( String ) {
    var result = "";
    var text = String.toLowerCase().split(" ");
    for (var i = 0; i < text.length; i++) {
      var c = text[i].charAt(0).toUpperCase();
      result = result + c;
    }
    return result;
  }

当前代码的结果输出为AKP。我正试图找到一种方法,用charAt(1)删除小写字符,然后尽可能为输出添加join()。我走对了吗?我知道有更简单的方法,但我正试图从中学习一些东西。

不必删除第一个字符,您可以在第一个字符之后创建字符串其余部分的子字符串。即:

result = result + c + text[i].substring(1, text[i].length()-1) + " ";
text[i].子字符串(1,text[i].length()-1)
获取单词从第二个字符到单词末尾的部分(类似于“删除”第一个字符)


对于字符串,您不需要使用
join()
函数,而只需要使用
+
函数进行串联。结尾的
用空格分隔单词。在函数末尾,您可以返回
result.trim()
以去掉最后一个空格。

使用以下函数将句子或标题大小写大写

console.log(capitalizeFirstLetter("THIS IS A SENTENCE")); //converts a sentence to capitalise. 

console.log(titleCase("THIS IS A SENTENCE")); //converts a sentence to titlecase. 

function capitalizeFirstLetter(string) {
    return string[0].toUpperCase() + string.slice(1).toLowerCase();
}

function titleCase(string) {
    return string.split(" ").map(x => capitalizeFirstLetter(x)).join(" ");
}

非常感谢你!这使我走上了正确的道路。我真的很感谢您进一步解释级联和编码背后的逻辑。这真是太棒了。谢谢大家!@Val7x我很高兴解释有帮助!我不想做的一件事是将
String
作为参数名-我的意思是,您可以,但不要。。整个函数只是
const title\u case=s=>s.toLowerCase().split(“”).map(w=>w[0].toUpperCase()+w.slice(1)).join(“”)
当传递一个空字符串时,它会爆炸。
console.log(capitalizeFirstLetter("THIS IS A SENTENCE")); //converts a sentence to capitalise. 

console.log(titleCase("THIS IS A SENTENCE")); //converts a sentence to titlecase. 

function capitalizeFirstLetter(string) {
    return string[0].toUpperCase() + string.slice(1).toLowerCase();
}

function titleCase(string) {
    return string.split(" ").map(x => capitalizeFirstLetter(x)).join(" ");
}