Introdução
Neste laboratório, vamos mergulhar no mundo da programação JavaScript para aprender como converter uma string dada em snake case. Usaremos expressões regulares e vários métodos de array, como map(), slice() e join(), para decompor a string e reconstruí-la com underscores como separadores. Ao final deste laboratório, você terá uma boa compreensão de como manipular strings em JavaScript e aplicar esses conceitos a outros projetos de programação.
Função para Converter String para Snake Case
Para converter uma string para snake case, use a seguinte função:
const toSnakeCase = (str) => {
if (!str) return "";
const regex =
/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g;
return str
.match(regex)
.map((x) => x.toLowerCase())
.join("_");
};
Esta função usa String.prototype.match() para quebrar a string em palavras usando uma expressão regular apropriada. Em seguida, ela usa Array.prototype.map(), Array.prototype.slice(), Array.prototype.join() e String.prototype.toLowerCase() para combinar as palavras, adicionando _ como um separador.
Exemplo de uso:
toSnakeCase("camelCase"); // 'camel_case'
toSnakeCase("some text"); // 'some_text'
toSnakeCase("some-mixed_string With spaces_underscores-and-hyphens");
// 'some_mixed_string_with_spaces_underscores_and_hyphens'
toSnakeCase("AllThe-small Things"); // 'all_the_small_things'
toSnakeCase("IAmEditingSomeXMLAndHTML");
// 'i_am_editing_some_xml_and_html'
Resumo
Parabéns! Você concluiu o laboratório de Snakecase String. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.