首页 > 解决方案 > 针对数组中的第一个字母进行大写

问题描述

function makeTitle(str) {
let arr = str.split(' ');

  for(let i=0; i<arr.length; i++) {
    arr[i][0] = arr[i][0].toUpperCase();
  }
  return arr;
}

makeTitle("This is a title") 
  //➞ "This Is A Title"

嘿伙计们,为什么这不改变数组中每个单词的第一个字母?当我 console.log 它时,我可以看到它选择了 'T' 'i' 'a' 和 't' 就像它应该做的那样。那么为什么它不改变他们的价值观呢?

标签: javascript

解决方案


字符串一旦设置就不能直接更改。相反,您可以创建一个新字符串并返回它。所以为了让它正常工作,你会得到字母改变它,然后得到剩余的字符串并加入它们。然后替换数组中的值。像这样的东西。

arr[i] = arr[i][0].toUpperCase() + arr[i].slice(1)

推荐阅读