如何将字符串中每个单词的最后一个字母大写

vpo*_*ope 5 javascript string

我对 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”

Bar*_*mar 3

您需要将其分配给 ,而不是返回拆分和反转字符串的结果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)