w3resource

JavaScript: Convert a string to snake case

JavaScript fundamental (ES6 Syntax): Exercise-120 with Solution

Write a JavaScript program to convert a string to snake case.

Note: Break the string into words and combine them adding _ as a separator, using a regexp.

  • Use String.prototype.match() to break the string into words using an appropriate regexp.
  • Use Array.prototype.map(), Array.prototype.slice(), Array.prototype.join() and String.prototype.toLowerCase() to combine them, adding _ as a separator.

Sample Solution:

JavaScript Code:

//#Source https://bit.ly/2neWfJ2

// Define the 'toSnakeCase' function.
const toSnakeCase = str =>
  str &&
  str
    .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g) // Match words
    .map(x => x.toLowerCase()) // Convert to lowercase
    .join('_'); // Join words with underscores

// Test the 'toSnakeCase' function with sample inputs.
console.log(toSnakeCase('camelCase')); // Output: camel_case
console.log(toSnakeCase('some text')); // Output: some_text
console.log(toSnakeCase('some-mixed_string With spaces_underscores-and-hyphens')); // Output: some_mixed_string_with_spaces_underscores_and_hyphens
console.log(toSnakeCase('AllThe-small Things')); // Output: all_the_small_things
console.log(toSnakeCase('IAmListeningToFMWhileLoadingDifferentURLOnMyBrowserAndAlsoEditingSomeXMLAndHTML')); // Output: i_am_listening_to_fm_while_loading_different_url_on_my_browser_and_also_editing_some_xml_and_html

Output:

camel_case
some_text
some_mixed_string_with_spaces_underscores_and_hyphens
all_the_small_things
i_am_listening_to_fm_while_loading_different_url_on_my_browser_and_also_editing_some_xml_and_html

Visual Presentation:

JavaScript Fundamental: Convert a string to snake case.

Flowchart:

flowchart: Convert a string to snake case

Live Demo:

See the Pen javascript-basic-exercise-120-1 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript program to create tomorrow's date in a string representation.
Next: Write a JavaScript program to convert a value to a safe integer.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/javascript-exercises/fundamental/javascript-fundamental-exercise-120.php