Inicializar Matriz Mientras

Beginner

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

Introducción

En este laboratorio, exploraremos el concepto de inicializar y llenar una matriz con valores generados por una función, mientras se cumpla una condición especificada. Utilizaremos la función initializeArrayWhile que toma dos funciones como argumentos, una función de condición y una función de asignación. Este laboratorio te ayudará a entender cómo crear una matriz personalizada basada en una condición y función de asignación específicas.

Cómo inicializar y llenar una matriz con un bucle while en JavaScript

Para comenzar a practicar la programación en JavaScript, abre la Terminal/SSH y escribe node.

La función initializeArrayWhile inicializa y llena una matriz con valores generados por una función mientras se cumpla una condición. Aquí cómo funciona:

  1. Crea una matriz vacía llamada arr, una variable de índice llamada i y un elemento llamado el.
  2. Utiliza un bucle while para agregar elementos a la matriz utilizando la función mapFn, siempre y cuando la función conditionFn devuelva true para el índice i y el elemento el dados.
  3. La función conditionFn toma tres argumentos: el índice actual, el elemento anterior y la matriz misma.
  4. La función mapFn toma tres argumentos: el índice actual, el elemento actual y la matriz misma.
  5. La función initializeArrayWhile devuelve la matriz.

Aquí está el código:

const initializeArrayWhile = (conditionFn, mapFn) => {
  const arr = [];
  let i = 0;
  let el = mapFn(i, undefined, arr);
  while (conditionFn(i, el, arr)) {
    arr.push(el);
    i++;
    el = mapFn(i, el, arr);
  }
  return arr;
};

Puedes utilizar la función initializeArrayWhile para inicializar y llenar una matriz con valores. Por ejemplo:

initializeArrayWhile(
  (i, val) => val < 10,
  (i, val, arr) => (i <= 1 ? 1 : val + arr[i - 2])
); // [1, 1, 2, 3, 5, 8]

Resumen

¡Felicidades! Has completado el laboratorio Inicializar Matriz Mientras. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.