Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
Casting a string to snake case - JavaScript
Snake case is a naming convention where words are separated by underscores (_) and all letters are lowercase. For example, "Hello World" becomes "hello_world".
This article demonstrates how to convert any string to snake case using JavaScript.
Syntax
function toSnakeCase(str) {
return str.split(' ')
.map(word => word.toLowerCase())
.join('_');
}
Example
Here's a complete example that converts a sentence to snake case:
const str = 'This is a simple sentence';
const toSnakeCase = (str = '') => {
const strArr = str.split(' ');
const snakeArr = strArr.reduce((acc, val) => {
return acc.concat(val.toLowerCase());
}, []);
return snakeArr.join('_');
};
console.log(toSnakeCase(str));
console.log(toSnakeCase('JavaScript Programming'));
console.log(toSnakeCase('Convert To Snake Case'));
this_is_a_simple_sentence javascript_programming convert_to_snake_case
Alternative Approaches
Using map() Method
const toSnakeCaseMap = (str) => {
return str.split(' ')
.map(word => word.toLowerCase())
.join('_');
};
console.log(toSnakeCaseMap('Hello World Example'));
hello_world_example
Using Regular Expressions
const toSnakeCaseRegex = (str) => {
return str.toLowerCase().replace(/\s+/g, '_');
};
console.log(toSnakeCaseRegex('Multiple Spaces Example'));
console.log(toSnakeCaseRegex('Tab Separated Text'));
multiple_spaces_example tab_separated_text
Handling Edge Cases
const toSnakeCaseRobust = (str) => {
if (!str) return '';
return str.trim()
.toLowerCase()
.replace(/\s+/g, '_')
.replace(/[^a-z0-9_]/g, '');
};
console.log(toSnakeCaseRobust(' Extra Spaces '));
console.log(toSnakeCaseRobust('Special@Characters#Here!'));
console.log(toSnakeCaseRobust(''));
extra_spaces specialcharactershere
Comparison
| Method | Handles Multiple Spaces | Handles Special Characters | Performance |
|---|---|---|---|
| split() + reduce() | No | No | Good |
| split() + map() | No | No | Better |
| Regular Expression | Yes | Yes | Best |
Conclusion
Converting strings to snake case can be achieved using multiple methods. The regular expression approach is most robust for handling edge cases, while simple split() and join() works well for basic use cases.
Advertisements
