Introdução
Neste laboratório, exploraremos o conceito de inicializar e preencher um array com valores gerados por uma função até que uma condição específica seja atendida. Usaremos a função initializeArrayUntil, que recebe dois argumentos: conditionFn e mapFn. Através deste laboratório, você obterá uma compreensão mais profunda de como usar esta função para gerar arrays com valores e condições personalizadas.
Como Inicializar um Array até que uma Condição seja Atendida
Para começar a praticar a codificação, abra o Terminal/SSH e digite node.
Aqui estão os passos para inicializar e preencher um array com valores gerados por uma função até que uma determinada condição seja atendida:
- Crie um array vazio
arr, uma variável de índiceie um elementoel. - Use um loop
do...whilepara adicionar elementos ao array usando a funçãomapFnaté que a funçãoconditionFnretornetruepara o índiceie o elementoeldados. - A função
conditionFnrecebe três argumentos: o índice atual, o elemento anterior e o próprio array. - A função
mapFnrecebe três argumentos: o índice atual, o elemento atual e o próprio array.
Aqui está o 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 usar a função initializeArrayUntil, forneça duas funções 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 um array com a sequência de Fibonacci até o primeiro número maior que 10. A função conditionFn verifica se o valor atual é maior que 10, e a função mapFn gera o próximo número na sequência.
Resumo
Parabéns! Você concluiu o laboratório "Initialize Array Until". Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.