1. Lee el Problema con Atención
Antes de codificar, asegúrate de comprender bien el enunciado. Pregúntate:
- ¿Qué se solicita?
- ¿Cuáles son los datos de entrada y los resultados esperados?
Ejemplo
“Escribe una función que reciba un array de números y devuelva un nuevo array que contenga solo los números pares.”
2. Identifica las Reglas y Condiciones
Anota las reglas clave, como:
- Un número es par si se puede dividir entre 2 sin residuo.
- Considera casos especiales (array vacío, todos los números impares).
3. Esquema Tu Solución
Antes de codificar, piensa en la lógica. Usa pseudocódigo para organizar tus ideas.
Pseudocódigo
1. Crear una función que acepte un array.
2. Inicializar un array vacío para pares.
3. Iterar sobre cada número en el array:
- Si es par, añadirlo al array de pares.
4. Devolver el array de pares.
4. Escribe el Código
Con el plan claro, codifica tu solución en JavaScript.
Código
function obtenerPares(arr) {
const pares = [];
for (let num of arr) {
if (num % 2 === 0) {
pares.push(num);
}
}
return pares;
}
// Ejemplo de uso
const numeros = [1, 2, 3, 4, 5, 6];
console.log(obtenerPares(numeros)); // Output: [2, 4, 6]
5. Prueba tu Solución
Verifica tu función con diferentes casos de prueba:
console.log(obtenerPares([])); // Output: []
console.log(obtenerPares([1, 3, 5])); // Output: []
console.log(obtenerPares([2, 4, 6])); // Output: [2, 4, 6]
6. Revisa y Optimiza
Revisa tu solución. Pregúntate si es legible y si puede optimizarse. Podrías usar filter para un enfoque más elegante.
Versión Optimizada
const obtenerPares = (arr) => arr.filter(num => num % 2 === 0);
// Ejemplo de uso
console.log(obtenerPares([1, 2, 3, 4, 5, 6])); // Output: [2, 4, 6]
7. Reflexiona sobre el Proceso
Cada ejercicio es una oportunidad de aprendizaje. Reflexiona sobre lo que hiciste bien y lo que podrías mejorar. ¡Cada práctica cuenta!
Los ejercicios de lógica en JavaScript pueden ser desafiantes, pero con un enfoque estructurado y práctica, puedes dominarlos. Recuerda seguir los pasos y, sobre todo, ¡disfrutar del proceso de aprendizaje!