Encuentre el elemento mínimo/máximo de una array usando JavaScript

El elemento mínimo y máximo en una array se puede encontrar usando 2 enfoques:

Método 1: Uso de Math.min() y Math.max()
Los métodos min() y max() del objeto Math son funciones estáticas que devuelven el elemento mínimo y máximo que se le pasa. A estas funciones se les podría pasar una array con el operador spread(…). El operador de propagación permite que un iterable se expanda en lugares donde se esperan múltiples argumentos. En este caso, automáticamente expande la array y le da los números a las funciones.

Sintaxis:

minValue = Math.min(...array);
maxValue = Math.max(...array);

Ejemplo 1:

<!DOCTYPE html>
<html>
  
<head>
    <title>
      Find the min/max element
      of an Array using JavaScript
  </title>
</head>
  
<body>
    <h1 style="color: green">
      GeeksforGeeks
  </h1>
    <b>Find the min/max element of 
      an Array using JavaScript</b>
    
    <p>Click on the button below t
      o find out the minimum and
      maximum of the array 
      [50, 60, 20, 10, 40]</p>
    
    <p>Minimum element is: <span class="min">
      </span>
        <br>Maximum Element is: <span class="max">
      </span></p>
    <button onclick="findMinMax()">
      Click to check
  </button>
    <script>
        function findMinMax() {
            array = [50, 60, 20, 10, 40];
            minValue = Math.min(...array);
            maxValue = Math.max(...array);
            document.querySelector(
              '.min').textContent = minValue;
            document.querySelector(
              '.max').textContent = maxValue;
        }
    </script>
</body>
  
</html>

Producción:

  • Antes de hacer clic en el botón:
    max-min-before
  • Después de hacer clic en el botón:
    max-min-after

Método 2: iterar a través de la array y realizar un seguimiento del elemento mínimo y máximo

Se puede realizar un seguimiento del elemento mínimo y máximo iterando a través de todos los elementos de la array y actualizando el elemento mínimo y máximo hasta ese punto comparándolos con los valores mínimo y máximo actuales. Inicialmente, los valores mínimo y máximo se inicializan en Infinity e -Infinity.

Sintaxis:

minValue = Infinity;
maxValue = -Infinity;

for (item of array) {
    // find minimum value
    if (item < minValue)
    minValue = item;
                
    // find maximum value
    if (item > maxValue)
    maxValue = item;
}

Ejemplo:

<!DOCTYPE html>
<html>
  
<head>
    <title>
      Find the min/max element 
      of an Array using JavaScript
  </title>
</head>
  
<body>
    <h1 style="color: green">
      GeeksforGeeks
  </h1>
    <b>
      Find the min/max element
      of an Array using JavaScript
  </b>
    <p>
      Click on the button below to
      find out the minimum and 
      maximum of the array 
      [50, 60, 20, 10, 40]
  </p>
    
    <p>Minimum element is: <span class="min">
      </span>
        <br>Maximum Element is: <span class="max">
      </span></p>
    <button onclick="findMinMax()">
      Click to check
  </button>
    <script>
        function findMinMax() {
            array = [50, 60, 20, 10, 40];
            minValue = Infinity;
            maxValue = -Infinity;
  
            for (item of array) {
                // find minimum value
                if (item < minValue)
                    minValue = item;
  
                // find maximum value
                if (item > maxValue)
                    maxValue = item;
            }
  
            document.querySelector(
              '.min').textContent = minValue;
            document.querySelector(
              '.max').textContent = maxValue;
        }
    </script>
</body>
  
</html>

Producción:

  • Antes de hacer clic en el botón:
    traditional-before
  • Después de hacer clic en el botón:
    traditional-after

Publicación traducida automáticamente

Artículo escrito por sayantanm19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *