¿Cómo buscar el valor máximo de un atributo en un objeto de array?

El valor máximo de un atributo en una array de objetos se puede buscar de dos maneras, una recorriendo la array y la otra utilizando el método Math.max.apply() .

Ejemplo 1: En este ejemplo, se recorre la array y se comparan los valores requeridos del objeto para cada índice de la array.

javascript

// Array of object
var arr = [
    {
      a: 10,
      b: 25
    },
    {
        a: 30,
        b: 5
    },
    {
        a: 20,
        b: 15
    },
    {
        a: 50,
        b: 35
    },
    {
        a: 40,
        b: 45
    },
  ];
   
  // Returns max value of
  // attribute 'a' in array
  function fun(arr){
    var maxValue = Number.MIN_VALUE;
 
    for(var i=0;i<arr.length;i++){
        if(arr[i].a>maxValue){
        maxValue = arr[i].a;
       }
    }
    return maxValue;
  }
 
  var maxValue = fun(arr);
  console.log(maxValue);

Producción:

50

Ejemplo 2: En este ejemplo, encontramos el valor máximo de un atributo usando la función Math.max.apply() . Tiene dos parámetros:

  1. este
  2. objeto tipo array

Sintaxis:

Math.max.apply(thisArg, [ argsArray])

Se puede encontrar más información en https://developer.mozilla.org/

javascript

var arr = [
    {
      a: 10,
      b: 25
    },
    {
        a: 30,
        b: 5
    },
    {
        a: 20,
        b: 15
    },
    {
        a: 50,
        b: 35
    },
    {
        a: 40,
        b: 45
    },
  ];
 
  var maxValue = Math.max.apply(null,
    arr.map(function(o) { return o.a; }));
 
  console.log(maxValue);

Producción:

50

Ejemplo-3: En este ejemplo, usaremos el método reduce() con el que se compararán todos los valores y luego, por último, se almacenará el valor final, que luego se almacenará en una variable que se generará en la consola.

Javascript

let array = [
  { a: 1, b: 2 },
  { a: 2, b: 4 },
  { a: 3, b: 6 },
  { a: 4, b: 8 },
  { a: 5, b: 10 },
  { a: 6, b: 12 },
];
 
let maxValue = array.reduce((acc, value) => {
  return (acc = acc > value.b ? acc : value.b);
}, 0);
 
console.log(maxValue);
 
// This code is contributed by Aman Singla...

Producción:

 12

Publicación traducida automáticamente

Artículo escrito por parasmadan15 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 *