Agrupar elementos de array basados en función

JavaScriptJavaScriptBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, exploraremos cómo agrupar elementos de arrays según su posición y combinarlos utilizando una función. Utilizaremos la función zipWith para lograr esto, que crea un array de elementos que se agrupan según su posición en los arrays originales. La función zipWith puede ser muy útil cuando se trabaja con arrays de diferentes longitudes y veremos cómo utilizarla para manejar tales casos.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") subgraph Lab Skills javascript/data_types -.-> lab-28366{{"Agrupar elementos de array basados en función"}} javascript/arith_ops -.-> lab-28366{{"Agrupar elementos de array basados en función"}} javascript/comp_ops -.-> lab-28366{{"Agrupar elementos de array basados en función"}} end

Función de JavaScript para agrupar elementos de un array

Para agrupar elementos en arrays, puedes utilizar la función zipWith.

Aquí cómo funciona:

  • La función toma un número ilimitado de arrays como argumentos.
  • Verifica si el último argumento es una función.
  • Utiliza Math.max() para encontrar la longitud del array más largo.
  • Crea un nuevo array de elementos agrupados utilizando Array.from() y una función de mapeo.
  • Si las longitudes de los arrays de argumentos varían, se utiliza undefined donde no se puede encontrar un valor.
  • La función se invoca con los elementos de cada grupo.

Aquí un ejemplo de uso de la función zipWith:

zipWith([1, 2], [10, 20], [100, 200], (a, b, c) => a + b + c); // [111, 222]
zipWith(
  [1, 2, 3],
  [10, 20],
  [100, 200],
  (a, b, c) =>
    (a != null ? a : "a") + (b != null ? b : "b") + (c != null ? c : "c")
); // [111, 222, '3bc']

Para utilizar la función zipWith, abre la Terminal/SSH y escribe node.

Resumen

¡Felicitaciones! Has completado el laboratorio de Agrupar Elementos de Array Basados en Función. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.