Introdução
Neste laboratório, exploraremos a função unfold() em JavaScript. Esta função nos permite criar um array chamando repetidamente uma função iteradora com um valor inicial (seed) até que a função retorne false. Através deste laboratório, aprenderemos como usar a função unfold() e como ela pode ser usada para simplificar certas tarefas de programação.
Unfold Array (Desdobrar Array)
Para criar um array usando uma função iteradora e um valor inicial (seed), siga estes passos:
- Abra o Terminal/SSH e digite
nodepara começar a praticar a codificação. - Use um loop
whileeArray.prototype.push()para chamar a função iteradora repetidamente até que ela retornefalse. - A função iteradora deve aceitar um argumento (
seed) e sempre retornar um array com dois elementos ([value,nextSeed]) oufalsepara terminar.
Use o seguinte código para implementar a função unfold:
const unfold = (fn, seed) => {
let result = [],
val = [null, seed];
while ((val = fn(val[1]))) result.push(val[0]);
return result;
};
Aqui está um exemplo de como usar a função unfold:
var f = (n) => (n > 50 ? false : [-n, n + 10]);
unfold(f, 10); // [-10, -20, -30, -40, -50]
Isso produzirá um array com valores gerados pela função iteradora f começando do valor inicial (seed) de 10. A função iteradora gera um array com dois elementos em cada passo: a negação do valor atual do seed e o próximo valor do seed, que é incrementado em 10. O processo continua até que o valor do seed seja maior que 50, momento em que a função retorna false.
Resumo
Parabéns! Você concluiu o laboratório Unfold Array. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.