我对 JavaScript 还很陌生,并且遇到了将数组内字符串的第一个字符变为大写的问题。
我已经得到了所有文本小写,逐个字符反转文本,并将其变成字符串的地步。我现在需要将字符串中的第一个字母变为大写。
function yay () {
var input = "Party like its 2015";
return input.toLowerCase().split("").reverse().join("").split(" ");
for(var i = 1 ; i < input.length ; i++){
input[i] = input[i].charAt(0).toUpperCase() + input[i].substr(1);
}
}
console.log(yay());Run Code Online (Sandbox Code Playgroud)
我需要输出为“partY likeE itS 2015”
您需要将其分配给 ,而不是返回拆分和反转字符串的结果input。否则,您将在执行将单词大写的循环之前从函数返回。然后在for循环之后您应该返回连接的字符串。
另外,由于您在大写之前已经反转了字符串,因此您应该将每个单词的最后一个字母大写。然后,您需要在重新连接数组之前反转数组,以使单词恢复到原始顺序。
function yay () {
var input = "Party like its 2015";
input = input.toLowerCase().split("").reverse().join("").split(" ");
for(var i = 1 ; i < input.length ; i++){
var len = input[i].length-1;
input[i] = input[i].substring(0, len) + input[i].substr(len).toUpperCase();
}
return input.reverse().join(" ");
}
alert(yay());Run Code Online (Sandbox Code Playgroud)