Advertisement
ErolKZ

Untitled

Aug 31st, 2021
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.66 KB | None | 0 0
  1.  
  2. function spinalCase(str) {
  3.  
  4.  
  5. let arr = [];
  6.  
  7.  
  8.  
  9. for (let i = 0; i < str.length; i++) {
  10.  
  11. arr.push(str[i]);
  12.  
  13. }
  14.  
  15.  
  16. for (let i = 0; i < arr.length; i++) {
  17.  
  18. if (arr[i].match(/[A-Z]/g)) {
  19.  
  20. if (i > 0 && !arr[i - 1].match(/[A-Za-z]/g)) {
  21.  
  22. arr.splice(i - 1, 1);
  23.  
  24. }
  25.  
  26.  
  27. } else if (arr[i].match(/\s/g)) {
  28.  
  29. arr.splice(i, 1, '-');
  30.  
  31. }
  32.  
  33.  
  34. }
  35.  
  36.  
  37. arr = arr.join('');
  38.  
  39. console.log(arr);
  40.  
  41. arr = arr.replace(/([A-Z])/g, '-$1');
  42.  
  43. arr = arr.replace(/(\s)/g, '-$1');
  44.  
  45. arr = arr.toLowerCase();
  46.  
  47. if (arr[0] === '-') {
  48.  
  49. arr = arr.substr(1);
  50.  
  51. }
  52.  
  53.  
  54. return arr;
  55. }
  56.  
  57.  
  58.  
  59.  
  60. console.log(spinalCase('Teletubbies say Eh-oh'));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement