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

261
Views
¿Cómo encontrar el valor más pequeño y más grande de la lista de elementos, de la manera más eficiente?

Tengo dos conjuntos de elementos, uno contiene una lista de números y el segundo de nombres. algo como esto.

 A: 4, B: 3, C: 2, A: 5, C: 3,

Y mi tarea es encontrar elementos con el valor más pequeño y el valor más alto. Sé que podría crear una matriz de objetos y ordenarlos con el mapa [{A: 4},{C:2}....] Pero me preguntaba si hay formas eficientes de hacerlo. En lugar de crear un objeto have, use tres bucles. ¿Sería posible reemplazarlo con algo más eficiente? Como set o algo donde podría simplemente llamar a set.getItemWithMinValue, set.getItemWithMaxValue y el retorno sería: C:2, A:5

Perdón por la pregunta tonta, todavía estoy aprendiendo.

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

0

Esta sería una forma de hacerlo. Precaución: la matriz se cambiará (ordenará) en el transcurso del script.

 const arr=[{A: 4},{B: 3},{C: 2},{A: 5},{C: 3}], val=o=>Object.values(o)[0]; arr.sort((a,b)=>val(a)-val(b)); console.log(arr[0],arr[arr.length-1])

about 4 years ago · Juan Pablo Isaza Report

0

Vas a tener que hacer un bucle, analizar el objeto en sus valores y verificar si el valor es mayor o menor.

 var data = [ { A: 4 }, { B: 3 }, { C: 2 }, { A: 5 }, { C: 3 }, ]; const results = data.reduce((minMax, item) => { const value = Object.values(item)[0]; if (!minMax) { minMax = { min: { value, item }, max: { value, item }, } } else if (minMax.min.value > value) { minMax.min = { value, item }; } else if (minMax.max.value < value) { minMax.max = { value, item }; } return minMax; }, null); console.log(results.min.item); console.log(results.max.item);

about 4 years ago · Juan Pablo Isaza Report

0

Podría tomar un solo bucle para obtener las entradas del objeto.

Este enfoque espera solo un valor mínimo y máximo único.

 const array = [{ A: 4 }, { B: 3 }, { C: 2 }, { A: 5 }, { C: 3 }]; let min, max; for (const object of array) { const [[k, v]] = Object.entries(object); if (!min || min[1] > v) min = [k, v]; if (!max || max[1] < v) max = [k, v]; } console.log('min', Object.fromEntries([min])); console.log('max', Object.fromEntries([max]));

Este enfoque respeta más de un nombre con el mismo valor mínimo o máximo.

 const array = [{ A: 4 }, { B: 3 }, { C: 2 }, { A: 5 }, { C: 3 }, { F: 2 }]; let min, max; for (const object of array) { const v = Object.values(object)[0]; if (!min || min[1] > v) min = [[object], v]; else if (min[1] === v) min[0].push(object); if (!max || max[1] < v) max = [[object], v]; else if (max[1] === v) max[0].push(object); } console.log('min', min[0]); console.log('max', max[0]);

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!