Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

124
Visualizações
Get an object from an array of objects with the highest value of a property

I have an array of objects that looks like this:

Array(3) [ {…}, {…}, {…} ]

0: Object { plName: "player1", plNumber: 1, score: 30, … }
1: Object { plName: "player2", plNumber: 2, score: 24, … }
2: Object { plName: "player3", plNumber: 3, score: 89, … }

I'm trying to figure out the best way to get an object with the highest value of the score property. In this case:

2: Object { plName: "player3", plNumber: 3, score: 89, … }

I would really appreciate any help :)

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

A simple reduce should do it.

let arr = [{
    plName: "player1",
    plNumber: 1,
    score: 30
  },
  {
    plName: "player2",
    plNumber: 2,
    score: 24
  },
  {
    plName: "player3",
    plNumber: 3,
    score: 89
  }
];

let result = arr.reduce((o1, o2) => o1.score > o2.score ? o1 : o2);
console.log(result);

If there could be multiple high score

let arr = [{
    plName: "player1",
    plNumber: 1,
    score: 30
  },
  {
    plName: "player2",
    plNumber: 2,
    score: 24
  },
  {
    plName: "player3",
    plNumber: 3,
    score: 89
  },
  {
    plName: "player4",
    plNumber: 4,
    score: 24
  },
  {
    plName: "player5",
    plNumber: 5,
    score: 89
  }
];

let maxScoreObject = arr.reduce((o1, o2) => o1.score > o2.score ? o1 : o2);
let result = arr.filter(o => o.score === maxScoreObject.score);
console.log(result);

about 4 years ago · Juan Pablo Isaza Relatório

0

A generic function could be something like

const data = [{
    plName: "player1",
    plNumber: 1,
    score: 30
  },
  {
    plName: "player2",
    plNumber: 2,
    score: 24
  },
  {
    plName: "player3",
    plNumber: 3,
    score: 89
  }
];


function maxBy(array, property) {
  return array.reduce((max, item) => {
    if (item[property] > max[property]) return item;
    return max;
  })
}

console.log(maxBy(data, 'score'));

about 4 years ago · Juan Pablo Isaza Relatório

0

  • Sort the objects in descending order from biggest to smallest score, get the first one which is the maximum score.
data.sort((a,b)=>b.score-a.score)[0]
//{plName: 'player3', plNumber: 3, score: 89}
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda