【发布时间】:2022-07-15 20:28:36
【问题描述】:
也许有人会觉得它很有用 - 如何在 camelCase PascalCase snake_case kebab-case (JS) 之间进行转换
【问题讨论】:
标签: javascript
也许有人会觉得它很有用 - 如何在 camelCase PascalCase snake_case kebab-case (JS) 之间进行转换
【问题讨论】:
标签: javascript
'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));
【讨论】: