Vai al contenuto

Going from camelCase to dashed-case in JavaScript:

Going from camelCase to dashed-case in JavaScript:
* https://stackoverflow.com/questions/47932847/how-do-i-convert-from-camel-case-to-dashed-and-dashed-to-camel-case/47932848#47932848

JavaScript
dashedCase = str.replace(/([A-Z])/g, val => `-${val.toLowerCase()}`);
camelCase = str.replace(/(\-[a-z])/g, val => val.toUpperCase().replace('-',''));

Alternative (freaky) version I dreamt about, works only in browsers obviously:
JavaScript
1
2
3
4
5
6
7
// can use any random html element
toDashedCase = str => {
  const el = document.createElement('div');
  el.dataset[str] = 1;
  return el.outerHTML.split(' data-')[1].split('=')[0];
};
toCamelCase = str => Object.keys(Object.assign(document.createElement('div'), {innerHTML: `<div data-${str}="1"></div>`}).children[0].dataset)[0];