Introdução
Neste laboratório, exploraremos como particionar um array em dois arrays separados com base na veracidade (truthiness) de uma função fornecida para cada elemento, usando JavaScript. Usaremos o método Array.prototype.reduce() para criar dois arrays e o método Array.prototype.push() para adicionar elementos ao array apropriado com base na veracidade da função fornecida. Ao final deste laboratório, você terá uma forte compreensão de como particionar um array em JavaScript e poderá aplicar esse conhecimento em seus projetos futuros.
Como Particionar um Array em Dois com Base em uma Função
Para particionar um array em dois com base em uma função fornecida, siga estas etapas:
- Abra o Terminal/SSH e digite
nodepara começar a praticar a codificação. - Use
Array.prototype.reduce()para criar um array de dois arrays. - Use
Array.prototype.push()para adicionar elementos para os quaisfnretornatrueao primeiro array e elementos para os quaisfnretornafalseao segundo.
Aqui está o código que você pode usar:
const partition = (arr, fn) =>
arr.reduce(
(acc, val, i, arr) => {
acc[fn(val, i, arr) ? 0 : 1].push(val);
return acc;
},
[[], []]
);
Para testar este código, você pode usar o seguinte exemplo:
const users = [
{ user: "barney", age: 36, active: false },
{ user: "fred", age: 40, active: true }
];
partition(users, (o) => o.active);
// [
// [{ user: 'fred', age: 40, active: true }],
// [{ user: 'barney', age: 36, active: false }]
// ]
Isso retornará um array de dois arrays, onde o primeiro array contém todos os elementos para os quais a função fornecida retorna true, e o segundo array contém todos os elementos para os quais a função fornecida retorna false.
Resumo
Parabéns! Você concluiu o laboratório de Particionar Array em Dois. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.