【发布时间】:2020-03-31 02:16:52
【问题描述】:
嗨,
我正在练习 Freecodecamp.com 的基本算法。
说明如下。
返回提供的字符串以及每个单词的首字母 大写。确保单词的其余部分为小写。
出于本练习的目的,您还应该大写 连接诸如“the”和“of”之类的词。
这是我的代码。
const titleCase = str => {
let result = str.split(' ');
result = result.map(t => {
t = t.toLowerCase();
t[0] = t[0].toUpperCase();
return t;
});
return result.join(' ');
};
console.log(titleCase("I'm a little tea pot"));
结果
i'm a little tea pot
这就是我的想法。
- 按空格将整个字符串提取成片段。
- 将其设为小写。
- 只将第一个字母大写。
- 返回结果。
但是,问题在于 line:5 不影响结果。第一个字母不变。 我错过了什么,对吧?似乎我误解了有关地图方法的一些概念。 你能给出一些建议来解决这个问题吗?
提前致谢。
【问题讨论】:
-
来自MDN String documentation - “当使用括号表示法进行字符访问时,尝试删除这些属性或为这些属性赋值将不会成功。所涉及的属性既不可写也不可配置。”
-
JavaScript 中的字符串是不可变的,但您可以创建新的字符串。
标签: javascript algorithm