Cómo encontrar el mínimo y el máximo de una matriz utilizando una función proporcionada
Para practicar la codificación, abre la Terminal o SSH y escribe node
.
Aquí hay una función que devuelve los valores mínimo y máximo de una matriz, basada en una función proporcionada que establece la regla de comparación:
const reduceWhich = (arr, comparator = (a, b) => a - b) =>
arr.reduce((a, b) => (comparator(a, b) >= 0 ? b : a));
Para utilizarla, sigue estos pasos:
- Llama a
reduceWhich
con la matriz que quieres procesar y la función comparator
opcional.
- La función
reduceWhich
utilizará Array.prototype.reduce()
en combinación con la función comparator
para devolver el elemento adecuado de la matriz.
- Si omites el segundo argumento (
comparator
), se utilizará la función predeterminada, que devuelve el elemento mínimo de la matriz.
Aquí hay algunos ejemplos de cómo utilizar reduceWhich
:
reduceWhich([1, 3, 2]); // 1
reduceWhich([1, 3, 2], (a, b) => b - a); // 3
reduceWhich(
[
{ name: "Tom", age: 12 },
{ name: "Jack", age: 18 },
{ name: "Lucy", age: 9 }
],
(a, b) => a.age - b.age
); // {name: 'Lucy', age: 9}
En los ejemplos anteriores, la primera llamada a reduceWhich
devuelve el valor mínimo de la matriz [1, 3, 2]
, que es 1
. La segunda llamada devuelve el valor máximo de la misma matriz, basada en la función comparator
que invierte el orden de comparación. La tercera llamada devuelve el objeto en la matriz que tiene la propiedad age
mínima, basada en la función comparator
que compara las propiedades age
de los objetos.