Introducción
En este laboratorio, exploraremos cómo agrupar los elementos de un array según su posición en los arrays originales. Utilizaremos la función zip(), que toma múltiples arrays y devuelve un nuevo array que contiene sub-arrays de elementos de cada array de entrada, agrupados por su posición. Esta es una técnica útil en el procesamiento y análisis de datos, y se puede utilizar para combinar datos de múltiples fuentes en una sola estructura de datos para su análisis ulterior.
Agrupar elementos de un array
Para agrupar los elementos de arrays según su posición en los arrays originales, utiliza la función zip que se proporciona a continuación.
- Abre la Terminal/SSH y escribe
nodepara comenzar a practicar la codificación. - La función
ziputilizaMath.max()yFunction.prototype.apply()para obtener el array más largo de los argumentos. - Crea un array con esa longitud como valor de retorno y utiliza
Array.from()con una función de mapeo para crear un array de elementos agrupados. - Si las longitudes de los arrays de argumentos varían, se utiliza
undefineddonde no se puede encontrar ningún valor.
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]);
});
};
Uso de ejemplo:
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]]
Resumen
¡Felicitaciones! Has completado el laboratorio de Agrupar elementos de un array. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.