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

195
Visualizações
valores de suma en una matriz basada en otra matriz

Actualmente estoy tratando de sumar algunos valores en una matriz de objetos, según la identificación de otra matriz presente en la matriz actual. suponiendo que tengo esta matriz

 const queryArray = [ "1" , "2" ]

y esta es la matriz que me gustaría sumar si los valores de propiedad de las tarifas de la identificación coinciden

 const services = [ { Id: "1", services: "Early Check-In", fees: "7500" }, { Id: "2", services: "Late Checkout", fees: "7500" }, { Id: "3", services: "Airport Chauffeur", fees: "25000" } ]

por lo tanto, me gustaría obtener la suma del valor de la propiedad de las tarifas en la matriz de servicios aquí en función de la identificación disponible en queryArray. entonces en este caso

 [ "1" , "2" ]

debería volver

 15000

si decidiera usar esto a continuación

 [ "1" , "3" ]

debería volver

 32500

y si tambien lo haces

 [ "1", "2" , "3"]

debería volver

 40000

Soy nuevo en javascript, por lo que ni siquiera puedo pensar en ninguna solución posible o en el paso a seguir.

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

0

Claro, filter los servicios que necesita -> map el servicio a su valor -> reduce la lista resultante a un solo número agregando los elementos:

 const services = [ { Id: "1", services: "Early Check-In", fees: "7500" }, { Id: "2", services: "Late Checkout", fees: "7500" }, { Id: "3", services: "Airport Chauffeur", fees: "25000" } ] const ids = ["1" , "2"] console.log( services .filter(({Id}) => ids.includes(Id)) .map(({fees}) => parseFloat(fees)) .reduce((acc, fees) => acc + fees, 0) )

about 4 years ago · Juan Pablo Isaza Relatório

0

Verifique si la identificación está incluida en la matriz de identificación dentro del reductor:

 const services = [ { Id: "1", services: "Early Check-In", fees: "7500" }, { Id: "2", services: "Late Checkout", fees: "7500" }, { Id: "3", services: "Airport Chauffeur", fees: "25000" } ] const queryArray = [ "1" , "2" ] const res = services.reduce((a,b) => queryArray.includes(b.Id) ? a += +b.fees : a, 0) console.log(res)

about 4 years ago · Juan Pablo Isaza Relatório

0

También puede usar reduce, y para cada entrada verifique si el Id. del valor actual está en queryArray. Si es así, devuelva el total actual más las tarifas actuales.

Establezca un 0 como valor inicial.

 const services = [{ Id: "1", services: "Early Check-In", fees: "7500" }, { Id: "2", services: "Late Checkout", fees: "7500" }, { Id: "3", services: "Airport Chauffeur", fees: "25000" } ] const queryArray = ["1", "2"] let res = services.reduce( (total, curr) => queryArray.includes(curr.Id) ? total + parseInt(curr.fees, 10) : total, 0 ); console.log(res);

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