我因遇到有关字符串原型方法的问题而伤了自己。
我想创建一个方法来驼峰任何字符串。
这是我当前的代码:
String.prototype.camelCase=function(){
let wordsArray = this.split(" ")
wordsArray.forEach((word)=>{
word[0] == word[0].toUpperCase()
})
}
当我console.log(word [0] .toUpperCase())时,我得到每个单词的首字母大写,但是当我尝试将转换应用于我的“单词”时,出现错误“无法读取属性'toUpperCase'未定义“
wtf?
最佳答案
解决字符串不变性的一种方法是,仅返回具有所需内容的新字符串,如下所示:
String.prototype.camelCase = function() {
return this
.split(" ")
.map(w => {
if (!w) return w
return w[0].toUpperCase()+w.substring(1)
})
.join(' ')
}
console.log('hello world'.camelCase())
关于javascript - 明确定义后,为什么会得到未定义的“toUpperCase”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55519126/