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

97
Visualizações
JavaScript Calcular matriz de objetos

Tengo algunas dificultades para calcular dentro de a para cada función con JavaScript. Tengo una matriz de objetos que se parece a esto:

 [ { "attribute_operator": "*", "attribute_value_price": 3 }, { "attribute_operator": "+", "attribute_value_price": 2 }, { "attribute_operator": "*", "attribute_value_price": 2 } ]

Como puede ver, cada valor tiene un operador y hay un precio inicial, por lo que el cálculo real debería verse así (si el precio inicial es 6, por ejemplo):

6 * 3 + 2 * 2

Entonces la salida debería ser en ese caso 40.

Sé cómo hacerlo por suma, pero ¿cómo implementar mi operador fácilmente?

intentado como:

 let total = starting_price.value calculate_objects.forEach((a: { attribute_value_price: number; }) => { total += a.attribute_value_price; }); console.log(total);
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Este es un buen caso para reducir. El valor inicial es ese starting_price , y cada giro del bucle aplica una pequeña función relacionada con el operando...

 const starting_price = 6; const operations = [{ "attribute_operator": "*", "attribute_value_price": 3 }, { "attribute_operator": "+", "attribute_value_price": 2 }, { "attribute_operator": "*", "attribute_value_price": 2 } ]; const operators = { '*': (a, b) => a * b, '+': (a, b) => a + b, }; const result = operations.reduce((acc, el) => { let operator = operators[el.attribute_operator]; let operand = el.attribute_value_price; return operator(acc, operand); }, starting_price); console.log(result);

about 4 years ago · Juan Pablo Isaza Relatório

0

Puede usar cadenas literales con la función eval. La función eval es útil cuando desea calcular una expresión.

 const obj = [ { "attribute_operator": "*", "attribute_value_price": 3 }, { "attribute_operator": "+", "attribute_value_price": 2 }, { "attribute_operator": "*", "attribute_value_price": 2 } ] let starting_price = 6; let total = starting_price; obj.forEach((a) => { total =eval(`${total}${a.attribute_operator}${a.attribute_value_price}`) ; }); console.log(total);

Advertencia: ejecutar JavaScript desde una cadena es un GRAN riesgo de seguridad.

Con eval() , el código malicioso puede ejecutarse dentro de su aplicación sin permiso.

Con eval() , el código de terceros puede ver el alcance de su aplicación, lo que puede generar posibles ataques.

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