Agrupar Dados de Múltiplos Arrays

Beginner

This tutorial is from open-source community. Access the source code

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 node para começar a praticar a codificação.
  • A função zip usa Math.max() e Function.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.