JSFiddle - React, Tailwind, and code Playground
by zalog
JavaScript
const input = [
'accessToken', 'accesstoken',
'access_Token', 'access_token',
'access-Token', 'access-token',
];
const output = [];
const convertToCamelCase = (key) => {
let camelCaseKey = '';
let capitalizeNextChar = false;
for (let i = 0; i < key.length; i += 1) {
const char = key[i];
if (char === '_' || char === '-') {
capitalizeNextChar = true;
} else {
if (capitalizeNextChar) {
camelCaseKey += char.toUpperCase();
} else if (char !== char.toUpperCase()) {
camelCaseKey += char.toLowerCase();
} else {
camelCaseKey += char;
}
capitalizeNextChar = false;
}
}
return camelCaseKey;
};
input.forEach((string) => output.push(convertToCamelCase(string)));
console.log('input: ', input);
console.log('output: ', output);