当前位置: 首页 > 知识库问答 >
问题:

为什么我的代码大写字符串中的每个单词不工作?(javascript)[复制]

吴嘉禧
2023-03-14

下面的代码应该将字符串中的所有单词大写,但它不起作用。字符串被适当地拆分并放回一起,除非toUpperCase方法甚至不能处理第一个字符。

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

let titleStr = titleCase("i'm a little tea pot");
console.log(titleStr);

共有1个答案

唐阳泽
2023-03-14

toUpperCase不修改变量本身,而是返回一个新的变量,所以需要重新分配它。

e、 g.此行未执行任何操作strArray[0]。toUpperCase() ,因为您忘记将其分配到某个位置,在for循环中的同一行。

基于您的代码的工作解决方案:

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

let titleStr = titleCase("i'm a little tea pot");
console.log(titleStr);

 类似资料:
  • 我有一个函数,应该把字符串中每个单词的第一个字母大写,但不知何故,它提供了不正确的结果,知道为什么吗?我需要修理一下。 所以输入:hello dolly输出:hello dolly。 空格计算正确,但大写不正确。

  • 问题内容: 将字符串中的单词大写的最佳方法是什么? 问题答案: 修复了Marco Demaio的解决方案,即第一个字母前面没有空格大写。 可以处理国家符号和带重音的字母。 可以处理引号和花括号。

  • 我必须定义一个包含大写方法的Translator类。该方法将收到一个StringBuffer,它只包含英文字母和空格,并将更改它,以便每个单词都以大写字母开头。 //我需要定义的类

  • 问题内容: Java中是否内置了一个函数,该函数可以大写字符串中每个单词的第一个字符,而不会影响其他单词? 例子: jon skeet -> Jon Skeet miles o’Brien-> Miles O’Brien(B仍然是大写字母,这排除了标题大小写) old mcdonald-> Old Mcdonald* (Old McDonald也可以找到,但我不认为它会那么聪明。) 快速浏览一下J

  • 问题内容: 我有一个字符串:“ hello good old world”,我想将每个单词的每个首字母大写,而不是使用.toUpperCase()整个字符串。是否有现成的java助手可以完成这项工作? 问题答案: 看看ACL WordUtils。

  • 我试图编写一个函数,将字符串中每个单词的第一个字母大写(将字符串转换为标题大小写)。 例如,当输入是时,我希望是输出。然而,该函数返回。 这是我的代码: