Introducción
En este laboratorio, exploraremos el concepto de inicializar y llenar una matriz con valores generados por una función hasta que se cumpla una condición específica. Utilizaremos la función initializeArrayUntil que toma dos argumentos: conditionFn y mapFn. A través de este laboratorio, obtendrás una comprensión más profunda de cómo utilizar esta función para generar matrices con valores y condiciones personalizadas.
Cómo inicializar una matriz hasta que se cumpla una condición
Para comenzar a practicar la codificación, abre la Terminal/SSH y escribe node.
A continuación, se presentan los pasos para inicializar y llenar una matriz con valores generados por una función hasta que se cumpla una determinada condición:
- Crea una matriz vacía
arr, una variable de índiceiy un elementoel. - Utiliza un bucle
do...whilepara agregar elementos a la matriz utilizando la funciónmapFnhasta que la funciónconditionFndevuelvatruepara el índiceiy el elementoeldados. - La función
conditionFntoma tres argumentos: el índice actual, el elemento anterior y la matriz misma. - La función
mapFntoma tres argumentos: el índice actual, el elemento actual y la matriz misma.
Aquí está el código:
const initializeArrayUntil = (conditionFn, mapFn) => {
const arr = [];
let i = 0;
let el = undefined;
do {
el = mapFn(i, el, arr);
arr.push(el);
i++;
} while (!conditionFn(i, el, arr));
return arr;
};
Para utilizar la función initializeArrayUntil, proporciona dos funciones como argumentos:
initializeArrayUntil(
(i, val) => val > 10, //conditionFn
(i, val, arr) => (i <= 1 ? 1 : val + arr[i - 2]) //mapFn
); // [1, 1, 2, 3, 5, 8, 13]
Este código inicializa una matriz con la secuencia de Fibonacci hasta el primer número mayor que 10. La función conditionFn comprueba si el valor actual es mayor que 10, y la función mapFn genera el siguiente número de la secuencia.
Resumen
¡Felicidades! Has completado el laboratorio de Inicializar Matriz Hasta que se Cumpla una Condición. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.