Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

165
Views
Javascript: encuentre el valor más alto en un objeto de matrices de objetos

Tengo un objeto que contiene matrices de objetos. Estoy tratando de encontrar el valor más alto de una propiedad de objeto, 'sortOrder' sin iterar manualmente a través de las matrices y los objetos.

Entonces mi variable se ve así:

 const myObj = { people: [ 0: {firstname: 'Dave', lastName: 'Jones', sortOrder: 22}, 1: {firstname: 'Jane', lastName: 'Smith', sortOrder: 11} ], otherPeople: [ 0: {firstname: 'Jen', lastName: 'SomeLastName', sortOrder: 33}, 1: {firstname: 'ExampleFirstName', lastName: 'ExampleLastName', sortOrder: 12} ] };

Así que estaría tratando de iterar a través de esto para encontrar eventualmente, en este caso, el orden de clasificación más alto de 33. No necesariamente el índice de matriz o el objeto que lo contiene, solo el número.

Gracias

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

(Tuve que corregir ligeramente sus datos de entrada: las matrices no incluyen el número de índice como lo muestra).

Es más fácil combinar las dos matrices en el objeto en una lista y luego usar reducir para encontrar el máximo:

 const myObj = { people: [ { firstname: 'Dave', lastName: 'Jones', sortOrder: 22 }, { firstname: 'Jane', lastName: 'Smith', sortOrder: 11 } ], otherPeople: [ { firstname: 'Jen', lastName: 'SomeLastName', sortOrder: 33 }, { firstname: 'ExampleFirstName', lastName: 'ExampleLastName', sortOrder: 12 } ] }; let allPeople = [...myObj.people, ...myObj.otherPeople]; let max = allPeople.reduce((maxSort, person) => { return Math.max(maxSort, person.sortOrder) }, 0)); console.log(max)

about 4 years ago · Juan Pablo Isaza Report

0

Puede ordenarlos por el orden de clasificación más alto y luego tomar el mayor de los elementos más altos en cada matriz:

 const myObj = { people: [{ firstname: 'Dave', lastName: 'Jones', sortOrder: 22 }, { firstname: 'Jane', lastName: 'Smith', sortOrder: 11 } ], otherPeople: [{ firstname: 'Jen', lastName: 'SomeLastName', sortOrder: 33 }, { firstname: 'ExampleFirstName', lastName: 'ExampleLastName', sortOrder: 12 } ] }; Object.values(myObj).forEach(peopleArray => { peopleArray.sort((a, b) => b.sortOrder - a.sortOrder) }) let maxValue = Math.max(myObj.people[0].sortOrder, myObj.otherPeople[0].sortOrder) console.log(maxValue)

about 4 years ago · Juan Pablo Isaza Report

0

  • Usando Object#values obtenga la lista de matrices
  • Usando Array#flat , convierta la matriz 2d en una
  • Usando Array#reduce , itere sobre esta lista mientras actualiza un max

 const myObj = { people: [ {firstname: 'Dave', lastName: 'Jones', sortOrder: 22}, {firstname: 'Jane', lastName: 'Smith', sortOrder: 11} ], otherPeople: [ {firstname: 'Jen', lastName: 'SomeLastName', sortOrder: 33}, {firstname: 'ExampleFirstName', lastName: 'ExampleLastName', sortOrder: 12} ] }; const maxSortOrder = Object.values(myObj) .flat() .reduce((max, { sortOrder = 0 }) => sortOrder > max ? sortOrder : max, 0); console.log(maxSortOrder);

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!