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

240
Visualizações
mapa reduce el recuento y la suma de la matriz de objetos

tengo una matriz de objetos que tiene propiedades con valores booleanos y algunas propiedades con valores enteros. Por ejemplo

 const arr = [{ _id: "621bb15de2ecadf024da51d3", draw: false, pixel: false, tooltip: 1, points: 1, }, { _id: "621bb15de2ecadf024da51d8", draw: false, pixel: true, tooltip: 0, points: 1, }, { _id: "621bb15de2ecadf024da51da", draw: false, pixel: true, tooltip: 1, points: 1, }, { _id: "621bb15de2ecadf024da51e5", draw: false, pixel: true, tooltip: 0, points: 1, }, { _id: "621bb15de2ecadf024da51f8", draw: false, pixel: true, tooltip: 1, points: 1, }, { _id: "621bb15ee2ecadf024da5222", draw: false, pixel: true, tooltip: 0, points: 1, }, { _id: "621bb15ee2ecadf024da5230", draw: false, pixel: true, tooltip: 1, points: 1, }, { _id: "621bb15fe2ecadf024da52f3", draw: false, pixel: false, tooltip: 1, points: 1, }, { _id: "621bb160e2ecadf024da5375", draw: false, pixel: true, tooltip: 0, points: 1, } ]

Estoy tratando de lograr la suma de la información sobre tooltip y los points , también el recuento del draw y el pixel donde son verdaderos.

 const res = arr.reduce(function ( acc, curr ) { return { tooltip: acc.tooltip + curr.tooltip, points: acc.points + curr.points, }; });

Obtengo el resultado a continuación, que es correcto para sum,

 { points: 9, tooltip: 5 }

pero también quiero contar el draw y el pixel donde su valor es verdadero.

 Expected Result: { points: 9, tooltip: 5, pixel: 7, draw: 0 }
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Simplemente use la misma manera que lo hizo con la información sobre tooltip y point , ya que con el operador + entre 2 valores booleanos, estos valores booleanos se convertirán en enteros

 const arr = [ { _id: '621bb15de2ecadf024da51d3', draw: false, pixel: false, tooltip: 1, points: 1, }, { _id: '621bb15de2ecadf024da51d8', draw: false, pixel: true, tooltip: 0, points: 1, }, { _id: '621bb15de2ecadf024da51da', draw: false, pixel: true, tooltip: 1, points: 1, }, { _id: '621bb15de2ecadf024da51e5', draw: false, pixel: true, tooltip: 0, points: 1, }, { _id: '621bb15de2ecadf024da51f8', draw: false, pixel: true, tooltip: 1, points: 1, }, { _id: '621bb15ee2ecadf024da5222', draw: false, pixel: true, tooltip: 0, points: 1, }, { _id: '621bb15ee2ecadf024da5230', draw: false, pixel: true, tooltip: 1, points: 1, }, { _id: '621bb15fe2ecadf024da52f3', draw: false, pixel: false, tooltip: 1, points: 1, }, { _id: '621bb160e2ecadf024da5375', draw: false, pixel: true, tooltip: 0, points: 1, }, ] const res = arr.reduce(function (acc, curr) { return { tooltip: acc.tooltip + curr.tooltip, points: acc.points + curr.points, draw: acc.draw + curr.draw, pixel: acc.pixel + curr.pixel, } }) console.log(res)

Referencias

12.8.3 El operador de suma ( + )

about 4 years ago · Juan Pablo Isaza Relatório

0

Puedes probar esto:

 let countPixel = 0; let countDraw = 0; const res = arr.reduce(function ( acc, curr ) { if (curr.pixel == true) { countPixel++; } if (curr.draw == true) { countDraw++; } return { tooltip: acc.tooltip + curr.tooltip, points: acc.points + curr.points, pixel: countPixel, draw: countDraw, }; });
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