Convertir cadenas a formato snake case con JavaScript

JavaScriptJavaScriptBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, profundizaremos en el mundo de la programación de JavaScript para aprender cómo convertir una cadena dada en formato snake case. Utilizaremos expresiones regulares y varios métodos de matriz como map(), slice() y join() para descomponer la cadena y reconstruirla con guiones bajos como separadores. Al final de este laboratorio, tendrás una buena comprensión de cómo manipular cadenas en JavaScript y aplicar estos conceptos a otros proyectos de programación.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/cond_stmts("Conditional Statements") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28662{{"Convertir cadenas a formato snake case con JavaScript"}} javascript/data_types -.-> lab-28662{{"Convertir cadenas a formato snake case con JavaScript"}} javascript/arith_ops -.-> lab-28662{{"Convertir cadenas a formato snake case con JavaScript"}} javascript/comp_ops -.-> lab-28662{{"Convertir cadenas a formato snake case con JavaScript"}} javascript/cond_stmts -.-> lab-28662{{"Convertir cadenas a formato snake case con JavaScript"}} javascript/higher_funcs -.-> lab-28662{{"Convertir cadenas a formato snake case con JavaScript"}} end

Función para convertir una cadena en formato snake case

Para convertir una cadena en formato snake case, utiliza la siguiente función:

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 función utiliza String.prototype.match() para dividir la cadena en palabras utilizando una expresión regular adecuada. Luego, utiliza Array.prototype.map(), Array.prototype.slice(), Array.prototype.join() y String.prototype.toLowerCase() para combinar las palabras, agregando _ como separador.

Uso de ejemplo:

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'

Resumen

¡Felicidades! Has completado el laboratorio de cadenas en formato snake case. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.