JavaScript

Truco JavaScript: máximo o mínimo de un array en JavaScript

En JavaScript disponemos las funciones Math.max() y Math.min() con las que es posible obtener el máximo y mínimo respectivamente de un conjunto de números. Pero que no permiten obtener ni el máximo, ni el mínimo de un array en JavaScript. Funciones que se pueden utilizar como se muestran a continuación:

Math.max(1, 2, 3, 4, 5); // 5
Math.min(1, 2, 3, 4, 5); // 1

El problema de estas funciones es que no permiten entradas de tipo array, solamente de tipo numérico. Un problema que se puede solucionar empleando diferentes aproximaciones como son los métodos reduce() o apply().

reduce()

Una primera idea para aplicar una función a un array puede ser utilizar programación funcional. El concreto mediante el método reduce(). Para ello solamente se tiene que utilizar como función Math.max() y Math.min() como se muestra a continuación.

const values = [1, 2, 3, 4, 5];
values.reduce((n,m) => Math.max(n,m), -Number.POSITIVE_INFINITY) // 5
values.reduce((n,m) => Math.min(n,m), Number.POSITIVE_INFINITY) // 1

apply()

La forma más fácil de aplicar una función a un array es utilizando la apply(). Simplemente se tiene que aplicar apply() al función que deseemos pasando como primer parámetro null y como segundo el array. Así se puede obtener el máximo o mínimo de un array simplemente con el siguiente código.

Math.max.apply(null, values) // 5
Math.min.apply(null, values) // 1

Obteniendo así un código más compacto que el visto anteriormente.

Sintaxis extendida (“spread sintax”)

Finalmente, en ES2015 se ha introducido la sintaxis extendida con la que se puede expandir los valores de un array dentro de los argumentos de una función. Lo que se puede hacer mediante el operador . Así a partir de esta versión del lenguaje se puede emplear el operador extendido (“spread operator”) en un código como el se muestra a continuación.

Math.max (...values) // 5
Math.min (...values) // 1

Con lo que se obtiene una implantación aún más compacta y fácil de leer que las dos vistas anteriormente. Siendo la posiblemente la mejor opción si se puede utilizar esta versión de JavaScript.

Conclusiones

En esta entrada se han visto tres formas para calcular el máximo o mínimo de un array en JavaScript. Siendo las mejores opciones apply() o el operador extendido.

Imágenes: Pixabay (Theodor Moise )

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Truco

Recent Posts

Curiosidad: La Paradoja de Simpson, o por qué no siempre debes fiarte de los promedios

En ciencia de datos y estadística, los promedios y porcentajes son herramientas fundamentales para resumir…

19 horas ago

Copias de seguridad automáticas en SQL Server con rotación de archivos

Las bases de datos son el corazón de casi cualquier sistema de información moderno. Ya…

3 días ago

Curiosidad: La Ley de Twyman y la trampa de los datos “interesantes”

En ciencia de datos, pocas cosas llaman más la atención de los científicos de datos…

1 semana ago

Cómo calcular el tamaño de la muestra para encuestas

Calcular adecuadamente el tamaño de la muestra es una parte esencial en el diseño de…

1 semana ago

Curiosidad: El origen del análisis exploratorio de datos y el papel de John Tukey

Hoy en día, cuando pensamos en ciencia de datos, lo primero que nos viene a…

2 semanas ago

Cómo extender el tamaño de un disco en Rocky Linux 9 usando growpart y LVM

Ampliar el espacio de almacenamiento en un sistema Linux es una tarea habitual y crítica…

2 semanas ago

This website uses cookies.