GOOGLE ADS

domingo, 17 de abril de 2022

¿Usando reduce () para encontrar valores mínimos y máximos?

Tengo este código para una clase en la que se supone que debo usar el reduce()método para encontrar los valores mínimo y máximo en una matriz. Sin embargo, estamos obligados a utilizar sólo una sola llamada para reducir. La matriz de retorno debe ser de tamaño 2, pero sé que el reduce()método siempre devuelve una matriz de tamaño 1.

Puedo obtener el valor mínimo usando el código a continuación, sin embargo, no sé cómo obtener el valor máximo en esa misma llamada. Supongo que una vez que obtengo el valor máximo, simplemente lo empujo a la matriz después de reduce()que finaliza el método.

/**
* Takes an array of numbers and returns an array of size 2,
* where the first element is the smallest element in items,
* and the second element is the largest element in items.
*
* Must do this by using a single call to reduce.
*
* For example, minMax([4, 1, 2, 7, 6]) returns [1, 7]
*/
function minMax(items) {
var minMaxArray = items.reduce(
(accumulator, currentValue) => {
return (accumulator < currentValue? accumulator: currentValue);
}
);
return minMaxArray;
}


Solución del problema

En ES6 puede usar el operador de propagación. Una solución de cadena:

 Math.min(...items)

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...