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:
Flowchart:
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.
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://w3resource.com/javascript-exercises/fundamental/javascript-fundamental-exercise-120.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics