[英]How to convert between camelCase PascalCase snake_case kebab-case (JS)
也许有人会发现它很有用 - 如何在 camelCase PascalCase snake_case kebab-case (JS) 之间进行转换
'use strict'
const log = console.log.bind(console);
const toCamel = val => val.trim().replace(/([-_ ]+)./g, $ => $.at(-1).toUpperCase());
const toKebab = val => toCamel(val).replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, o) => (o ? "-" : "") + $.toLowerCase())
const toSnake = val => toCamel(val).replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, o) => (o ? "_" : "") + $.toLowerCase())
const toPascal = val => toCamel(val).replace(/^./, $ => $.toUpperCase());
const testCase = [
'StackOverflow',
'camelCase',
'alllowercase',
'JSONdata',
' aaa--------bbb-ccc',
'aaa_______bbb__ccc_dddddddddd',
'aaa bbb -ccc',
'ddd-eee-fff',
];
log(testCase.map(toCamel));
You can use lodash package.您可以使用 lodash 包。
_.kebabCase('Foo Bar');
// => 'foo-bar'
_.snakeCase('Foo Bar');
// => 'foo_bar'
startCase(camelCase(str)).replace(/ /g, '');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.