bra*_*ipt 80 javascript lodash
我正在查看lodash文档和其他Stack Overflow问题 - 虽然有几种本地JavaScript方法可以完成此任务,但是有一种方法可以使用纯粹的 lodash函数(或至少现有的原型函数)将字符串转换为标题案例这样我就不必使用正则表达式或定义新函数了?
例如
This string ShouLD be ALL in title CASe
Run Code Online (Sandbox Code Playgroud)
应该成为
This String Should Be All In Title Case
Run Code Online (Sandbox Code Playgroud)
4ca*_*tle 166
这可以通过以下小修改来完成startCase:
_.startCase(_.toLower(str));
Run Code Online (Sandbox Code Playgroud)
console.log(_.startCase(_.toLower("This string ShouLD be ALL in title CASe")));Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.13.1/lodash.min.js"></script>Run Code Online (Sandbox Code Playgroud)
ari*_*sfl 34
_.startCase(_.camelCase(str))
Run Code Online (Sandbox Code Playgroud)
对于非用户生成的文本,这会处理比接受的答案更多的情况
> startCase(camelCase('myString'))
'My String'
> startCase(camelCase('my_string'))
'My String'
> startCase(camelCase('MY_STRING'))
'My String'
> startCase(camelCase('my string'))
'My String'
> startCase(camelCase('My string'))
'My String'
Run Code Online (Sandbox Code Playgroud)
Jam*_*yen 19
与lodash版本4.
_.upperFirst(_.toLower(str))
CD.*_*D.. 14
'This string ShouLD be ALL in title CASe'
.split(' ')
.map(_.capitalize)
.join(' ');
Run Code Online (Sandbox Code Playgroud)
小智 7
在我看来,这是在我自己的用例上测试的最干净、最灵活的实现。
\nimport { capitalize, map } from "lodash";\n\nconst titleCase = (str) => map(str.split(" "), capitalize).join(" ");\n\n// titleCase("ALFRED N\xc3\x9a\xc3\x91EZ") => "Alfred N\xc3\xba\xc3\xb1ez"\n// titleCase("alfred n\xc3\xba\xc3\xb1ez") => "Alfred N\xc3\xba\xc3\xb1ez"\n// titleCase("AlFReD n\xc3\x9a\xc3\xb1EZ") => "Alfred N\xc3\xba\xc3\xb1ez"\n// titleCase("-") => "-"\nRun Code Online (Sandbox Code Playgroud)\n
这个问题有不同的答案。有些建议使用_.upperFirst,有些建议_.startCase。
了解它们之间的区别。
i)_.upperFirst将转换字符串的第一个字母,然后字符串可能是一个单词或多个单词,但字符串的唯一第一个字母被转换为大写。
_.upperFirst('jon doe')
输出:
Jon doe
检查文档https://lodash.com/docs/4.17.10#upperFirst
ii)_.startCase将转换字符串中每个单词的首字母。
_.startCase('jon doe')
输出:
Jon Doe
https://lodash.com/docs/4.17.10#startCase
下面的代码将完美运行:
var str = "TITLECASE";
_.startCase(str.toLowerCase());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
59083 次 |
| 最近记录: |