10 ejercicios sobre cadenas en JavaScript
Aquí tienes 10 ejercicios sobre cadenas en JavaScript orientados a estructuras de datos, enfocados en manipulación básica y avanzada:
Ejercicio 1: Voltear una cadena
Implementa una función que tome una cadena y devuelva su versión invertida.
function invertirCadena(cadena) { return cadena.split('').reverse().join(''); } console.log(invertirCadena("hola")); // "aloh"
Ejercicio 2: Modificar un elemento específico
Dada una cadena, reemplaza el carácter en la posición índice por un nuevo carácter.
function modificarCaracter(cadena, indice, nuevoCaracter) { if (indice < 0 || indice >= cadena.length) return cadena; return cadena.substring(0, indice) + nuevoCaracter + cadena.substring(indice + 1); } console.log(modificarCaracter("javascript", 4, "X")); // "javaXcript"
Ejercicio 3: Ordenar una cadena al insertar una letra
Inserta una letra en una cadena ordenada alfabéticamente y mantén el orden.
function insertarOrdenado(cadenaOrdenada, letra) { let i = 0; while (i < cadenaOrdenada.length && cadenaOrdenada[i] < letra) i++; return cadenaOrdenada.slice(0, i) + letra + cadenaOrdenada.slice(i); } console.log(insertarOrdenado("abcf", "d")); // "abcdf"
Ejercicio 4: Insertar una letra en medio
Inserta un carácter en la posición media de la cadena.
function insertarEnMedio(cadena, letra) { const medio = Math.floor(cadena.length / 2); return cadena.slice(0, medio) + letra + cadena.slice(medio); } console.log(insertarEnMedio("abcde", "X")); // "abXcde"
Ejercicio 5: Insertar una letra al final
Agrega un carácter al final de la cadena.
function insertarAlFinal(cadena, letra) { return cadena + letra; } console.log(insertarAlFinal("hola", "!")); // "hola!"
Ejercicio 6: Insertar una letra al principio
Agrega un carácter al inicio de la cadena.
function insertarAlPrincipio(cadena, letra) { return letra + cadena; } console.log(insertarAlPrincipio("mundo", "Hola ")); // "Hola mundo"
Ejercicio 7: Eliminar un carácter por posición
Elimina el carácter en la posición índice de la cadena.
function eliminarCaracter(cadena, indice) { return cadena.slice(0, indice) + cadena.slice(indice + 1); } console.log(eliminarCaracter("abcdef", 2)); // "abdef"
Ejercicio 8: Contar ocurrencias de un carácter
Cuenta cuántas veces aparece un carácter en la cadena.
function contarCaracter(cadena, caracter) { return cadena.split('').filter(c => c === caracter).length; } console.log(contarCaracter("parangaricutirimicuaro", "a")); // 5
Ejercicio 9: Verificar si una cadena es palíndromo
Determina si una cadena se lee igual al derecho y al revés.
function esPalindromo(cadena) { const limpia = cadena.toLowerCase().replace(/[^a-z]/g, ''); return limpia === limpia.split('').reverse().join(''); } console.log(esPalindromo("Anita lava la tina")); // true
Ejercicio 10: Rotar una cadena
Rota los caracteres de una cadena n posiciones a la derecha.
function rotarCadena(cadena, n) { n = n % cadena.length; return cadena.slice(-n) + cadena.slice(0, -n); } console.log(rotarCadena("javascript", 3)); // "iptjavascr"
Bonus: Ejercicio 11 (Extra)
Implementa una función que elimine duplicados en una cadena, manteniendo solo la primera ocurrencia de cada carácter.
function eliminarDuplicados(cadena) { return [...new Set(cadena.split(''))].join(''); } console.log(eliminarDuplicados("aabbccddeeff")); // "abcdef"
Estos ejercicios cubren operaciones fundamentales con cadenas en JavaScript, útiles para entender estructuras de datos como arreglos, pilas (por el método reverse), y manipulación de memoria básica. ¿Te gustaría profundizar en alguno?
Comentarios
Publicar un comentario