javascript - 如何在 javascript 中不使用正则表达式将首字母变为大写

标签 javascript

我已经尝试了下面的代码,但它不起作用

function capFirstLetter(str) {
  let arr = str.split(' ')
  for (let i = 0; i < arr.length; i++) {
    const word = arr[i];
    word.toLowerCase()
    word[0].toUpperCase()
  }
  return arr.join(' ')
}

最佳答案

字符串是不可变的。对字符串调用 toLowerCase()toUpperCase() 会生成一个新字符串。如果您想使用该新字符串,则必须返回它或将其分配给某些东西,或类似的东西。

在这里,取出第一个字母并对其调用toUpperCase。然后将其与调用了 toLowerCase 的其余字母连接起来:

function capFirstLetter(str) {
  return str.split(' ')
    .map(word => word[0].toUpperCase() + word.slice(1).toLowerCase())
    .join(' ');
}

console.log(capFirstLetter('foo bAR'));

关于javascript - 如何在 javascript 中不使用正则表达式将首字母变为大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61022648/

相关文章:

javascript - 如何只允许鼠标悬停在两个元素上?

javascript - Capybara 无法识别动态添加的 DOM 元素?

php - 在提交表单时将 Javascript 变量传递给 PHP

javascript - AngularJS - 在模块依赖注入(inject)时加载 vendor 脚本

javascript - 即使我加载了js,方法也未定义

javascript - 为什么 string.split() 对于正则表达式的行为不同?

javascript - 从url中获取json数据并通过JavaScript将其放入变量中

javascript - apollo-client 没有响应头

javascript - AngularJS 不编译 html

javascript - 检查引导表行 - Javascript