lodash 封装的方法通常不好奇的话也不会管它怎么实现的,直到遇到问题。。。
camelCase 是一个很常用的方法,将字符转换为小驼峰嘛,直到我发现 camelCase 将 ABCTest 转化成 abcTest 的时候才开始对其实现原理感到好奇。
我以为的小驼峰和camelCase以为的小驼峰究竟是不是一样?
字符串中的连续大写字母会被如何处理?
字符串中的特殊字符会被如何处理?
先看一组测试
一、camelCase代码实现
1、camelCase首先将字符串中的单引号和右单引号转换为空字符串
2、调用words方法拆分字符串
拆分规则如下:
- 有自定义规则按自定义规则拆分
- 没有自定义规则按字符类型为unicode或as