javascript - 针对数组中的第一个字母进行大写
问题描述
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' 就像它应该做的那样。那么为什么它不改变他们的价值观呢?
解决方案
字符串一旦设置就不能直接更改。相反,您可以创建一个新字符串并返回它。所以为了让它正常工作,你会得到字母改变它,然后得到剩余的字符串并加入它们。然后替换数组中的值。像这样的东西。
arr[i] = arr[i][0].toUpperCase() + arr[i].slice(1)
推荐阅读
- swift - 如何删除已经渲染的不需要的视图而不是渲染需要的视图?
- javascript - canvas 和 gl.canvas 的区别
- twitter - 哪些模式/规则用于搜索推文?
- rust - Rust 横梁范围线程异步运行?
- c - 用于检查回文字符串的 C 程序
- wireguard - WireGuard:无法 ping 任何东西,握手成功时流量不通过
- node.js - 更新所有包时如何解决 NPM 上的“无法解析依赖树”?
- python - 如何通过 Python 数据类中的 kwargs 存储额外的属性
- xgboost - 使用 xgboost 预测 100 棵树与 1000 棵树所花费的时间相同
- java - Spring Boot socket-io-client v1 不会使用 ssl 发送到 socket.io 服务器