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);