Introdução
Neste laboratório, exploraremos como bifurcar um array com base em uma função de filtragem fornecida em JavaScript. Usaremos o método Array.prototype.reduce() e o método Array.prototype.push() para dividir os valores do array em dois grupos, com base em se a função de filtragem retorna um valor verdadeiro (truthy) ou não. Este laboratório foi projetado para aprimorar sua compreensão de funções de ordem superior e manipulação de arrays em JavaScript.
Função para Dividir um Array em Dois Grupos
Para dividir um array em dois grupos com base no resultado de uma função fornecida, siga estas etapas:
- Abra o Terminal/SSH e digite
nodepara começar a praticar a codificação. - Use os métodos
Array.prototype.reduce()eArray.prototype.push()para adicionar elementos aos grupos. Isso é baseado no valor retornado pela função fornecidafnpara cada elemento. - Se
fnretornar um valor verdadeiro (truthy) para qualquer elemento, adicione-o ao primeiro grupo. Caso contrário, adicione-o ao segundo grupo.
Aqui está o código:
const bifurcateBy = (arr, fn) =>
arr.reduce(
(acc, val, i) => (acc[fn(val, i) ? 0 : 1].push(val), acc),
[[], []]
);
Por exemplo, se você chamar bifurcateBy(['beep', 'boop', 'foo', 'bar'], x => x[0] === 'b'), a função retornará [ ['beep', 'boop', 'bar'], ['foo'] ].
Resumo
Parabéns! Você concluiu o laboratório Bifurcar Array com Base em Função. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.