Es indispensable, que junto con la teoría comencemos a ejercitar la misma, es para ello que en estos capítulos trabajaremos con todo lo que hemos estudiado, y haremos ejercicios que abarquen todo lo estudiado hasta ahora. Comenzamos.
Consejos a la hora de resolver ejercicios
Estos son algunos de los consejos que damos cuando vayáis a resolver ejercicios:
- Usar funciones expresadas con operadores ternarios para el retorno implícito. Deja tu código simple, limpio y expresivo.
- Usar operadores ternarios concatenados e indentados en lugar de if cuando este último no sea necesario. Al igual que el anterior es más fácil de leer y mantener.
- Hacer las validaciones necesarias al comienzo de una función y al último solucionar el problema. Dejar la solución para el final y resolver los posibles problemas primero con las validaciones.
- Definir valores por defecto en los parámetros de una función. Mantén el control de los parámetros y anticípate a posibles valores vacíos.
- Usar el return en condicionales if y alinear en código cuando sea de una sola línea. Evitar las llaves si el código de la condición tiene una sola línea.
- Si tu condición if ya tiene un return es redundante añadir un else. Evitar anidar varios else if en una condición, Hazlo simple y mantén el nivel sin utilizar tantos anidamientos en condiciones innecesarias.
Ejercicio 1 – número de caracteres
En el primer ejercicio programaremos una función que cuente el número de caracteres de una cadena de texto.
La sintaxis sería la siguiente para una función declarada:
function contarCaracteres(cadena = "") {
if (!cadena) {
console.warn("No ingresaste ninguna cadena");
} else {
console.info(
`La cadena "${cadena}" tiene ${cadena.length} caracteres`
);
}
}
contarCaracteres("Hola Mundo");
Pero vamos a trabajar con funciones expresadas mejor, con lo cual, la sintaxis será la siguiente:
const contarCaracteres2 = (cadena2 = "") =>
!cadena2
? console.log("No existe la cadena")
: console.log(
`La cadena "${cadena2}" tiene ${cadena2.length} caracteres`
);
contarCaracteres2();
contarCaracteres2("Hola que tal");
Ejercicio 2 – texto recortado
A partir de este ejercicio sólo utilizaremos funciones expresadas. En el segundo ejercicio programaremos una función que devuelva el texto recortado según el número de caracteres indicados.
const recortarTexto = (cadena = "", longitud = undefined) =>
!cadena
? console.log("No ingresaste una cadena")
: longitud === undefined
? console.log("No ingresaste una longitud")
: console.log(cadena.slice(0, longitud));
recortarTexto();
recortarTexto("Hola Mundo");
recortarTexto(0);
recortarTexto("Hola Mundo", 4);
Ejercicio 3 – devolver un Array
El tercer ejercicio consiste en programar una función, que dado un String, devuelva un Array de textos separados por cierto carácter.
const devArray = (cadena = "", separador = undefined) => {
!cadena
? console.log("No ingresaste una cadena de texto")
: separador === undefined
? console.log("No ingresaste el caracter separador")
: console.log(cadena.split(separador));
};
devArray();
devArray("Hola Mundo");
devArray("Hola Mundo", " ");
Ejercicio 4 – texto se repite
En este ejercicio 4 programaremos una función que repita un texto x veces.
const repetirTexto = (cadena = "", numero = undefined) => {
if (!cadena) return console.log("No ingresaste un texto");
if (numero === undefined)
return console.log(
"No ingresaste un número de veces a repetir el texto"
);
if (numero === 0)
return console.log("El número de veces no puede ser cero");
if (Math.sign(numero) === -1)
return console.log("El número de veces no puede ser negativo");
for (let i = 1; i <= numero; i++) console.log(`${cadena}, ${i}`);
};
repetirTexto("Hola Mundo", 5);
