Introdução
Neste laboratório, exploraremos como agrupar elementos de um array com base em suas posições nos arrays originais. Usaremos a função zip(), que recebe múltiplos arrays e retorna um novo array contendo sub-arrays de elementos de cada array de entrada, agrupados por suas posições. Esta é uma técnica útil no processamento e análise de dados, e pode ser usada para combinar dados de múltiplas fontes em uma única estrutura de dados para análise posterior.
Agrupar Elementos de Arrays
Para agrupar elementos de arrays com base em suas posições nos arrays originais, use a função zip fornecida abaixo.
- Abra o Terminal/SSH e digite
nodepara começar a praticar a codificação. - A função
zipusaMath.max()eFunction.prototype.apply()para obter o array mais longo nos argumentos. - Ela cria um array com esse comprimento como valor de retorno e usa
Array.from()com uma função de mapeamento para criar um array de elementos agrupados. - Se os comprimentos dos arrays de argumentos variarem,
undefinedé usado onde nenhum valor pôde ser encontrado.
const zip = (...arrays) => {
const maxLength = Math.max(...arrays.map((x) => x.length));
return Array.from({ length: maxLength }).map((_, i) => {
return Array.from({ length: arrays.length }, (_, k) => arrays[k][i]);
});
};
Exemplo de uso:
zip(["a", "b"], [1, 2], [true, false]); // [['a', 1, true], ['b', 2, false]]
zip(["a"], [1, 2], [true, false]); // [['a', 1, true], [undefined, 2, false]]
Resumo
Parabéns! Você concluiu o laboratório de Agrupamento de Elementos de Arrays. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.