Introducción
En este laboratorio, exploraremos el concepto de mapear y reducir arrays en JavaScript. En particular, aprenderemos cómo usar la función averageBy() para calcular el promedio de un array después de mapear cada elemento a un valor utilizando una función proporcionada. A través de ejercicios prácticos y ejemplos, obtendremos una comprensión más profunda de estos poderosos métodos de array y cómo se pueden utilizar para simplificar nuestro código.
Instrucciones para calcular el promedio de un array mapeado
Para calcular el promedio de un array, puedes mapear cada elemento a un nuevo valor utilizando la función proporcionada. Aquí están los pasos:
- Abre la Terminal/SSH y escribe
nodepara comenzar a practicar la codificación. - Utiliza
Array.prototype.map()para mapear cada elemento al valor devuelto porfn. - Utiliza
Array.prototype.reduce()para sumar cada valor mapeado a un acumulador, inicializado con un valor de0. - Divide el array resultante entre su longitud para obtener el promedio.
Aquí está el código que puedes utilizar:
const averageBy = (arr, fn) =>
arr
.map(typeof fn === "function" ? fn : (val) => val[fn])
.reduce((acc, val) => acc + val, 0) / arr.length;
Puedes probar esta función utilizando los siguientes ejemplos:
averageBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], (o) => o.n); // 5
averageBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], "n"); // 5
Resumen
¡Felicitaciones! Has completado el laboratorio del Promedio de Array Mapeado. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.