Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

238
Vistas
Agregue valores totales en el diccionario mediante la función de reducción en javascript

Estoy aprendiendo la función de reduce y sus capacidades, sin embargo, parece que no puedo descifrar cómo usarla con los diccionarios.

Por ejemplo, tengo el siguiente diccionario:

 const scores = [ { team: 'A', score: 20 }, { team: 'B', score: 17 }, { team: 'C', score: 23 }, { team: 'D', score: 13 } ]

Quiero agregar todos los score de los valores de la manera más ordenada posible, he intentado abordar esto yo mismo con:

 const test = scores.reduce((first_item, second_item) =>{ console.log(first_item.score, second_item.score) return first_item.score + second_item.score } )

Sin embargo, no suma los valores, y parece que solo funciona para los dos primeros valores en el dict. ¿Cuál es una alternativa más fácil que funcionaría para diccionarios más grandes en una línea de código más pequeña? tal como lo veo, tendría que seguir incluyendo variables en la función de reduce para que coincida con el número de claves.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

La función de reducción funciona así:

 reduce((previousValue, currentValue) => { /* ... */ } )

entonces lo que tienes que hacer es:

 const test = scores.reduce((acc, item) =>acc + item.score, 0)

Lea la documentación. MDN es un sitio web realmente bueno para esto: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce

about 4 years ago · Juan Pablo Isaza Denunciar

0

Por un puñado, debe pasar los argumentos previousValue, currentValue en lugar de first_item, second_item . Realmente te sugiero que leas la documentación .

Su código no devuelve el puntaje total porque reduce que está tratando de sumar un número e indefinido (haga console.log () dentro de reduce, comprenderá más).

Puedes hacer algo así;

 const scores = [ { team: "A", score: 20, }, { team: "B", score: 17, }, { team: "C", score: 23, }, { team: "D", score: 13, }, ]; const totalScore = scores.reduce(function (a, b) { return { score: a.score + b.score }; // returns object with property x }); console.log(totalScore.score);
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda