# camelCase
# Description
转换字符串 string
为驼峰写法 (opens new window)
# Params
{string} [string='']
# Return
String
# Depend
import upperFirst from './upperFirst.js'
import words from './words.js'
import toString from './toString.js'
# Code
const camelCase = (string) => (
words(toString(string).replace(/['\u2019]/g, '')).reduce((result, word, index) => {
word = word.toLowerCase()
return result + (index ? upperFirst(word) : word)
}, '')
)
# Analyze
/['\u2019]/g
- 调用
toString
将传入的值转换为 字符串,并且替换掉'
和U+2019
- 使用
words
进行词分割,得到分割好的数组 - 使用
reduce
进行拼接,最终返回一个字符串 - 对于 迭代中的每个
word
都进行了转小写处理 - 如果传入的
word
不是第一个,就进行首字母大写的处理(驼峰首单词首字母小写),并且进行拼接返回
# Remark
# Example
camelCase('go to bad') // goToBad
camelCase('handle error') // handleError
camelCase('view files') // viewFiles
camelCase('camel case') // camelCase
camelCase(['very', 'sad']) // verySad
← before capitalize →