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

95
Visualizações
objeto de suma de matrices múltiples en el script de la aplicación

estoy usando el script de la aplicación

Tengo matriz de retorno de la API por este código:

 const price= jsonResponce.price.map(obj => [obj[0],obj[1]]);

Dame [[30.56, 1.014], [50.44, 1.019], [10.35, 1.081], [10.34, 1.115], [10.40, 2.006]]

No esta matriz puede tener una matriz de 1000 o grande

Ahora quiero sumar todos los objetos en obj[0] usando este código:

Uso el método para ver la deferencia pero nada funciona.

 var first= []; var second= 0; price.forEach(function(obj){ first+= obj[0]; second+= obj[1]; }); Logger.log(first); Logger.log(second);

Pero dame un resultado así: primero Logger.log(first);

 30.5650.4410.3510.3410.40

segundo Logger.log(second); : este método agrega el número 0 después de cualquier obj

 01.01401.01901.08101.11502.006

Alguna idea para este problema

30.56+50.44+10.35+10.34+10.40 Necesito resultado como: 112.09

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

0

Su código funciona bien para mí, después de correcciones mínimas:

 const price = [[30.56, 1.014], [50.44, 1.019], [10.35, 1.081], [10.34, 1.115], [10.40, 2.006]] var first = 0; // <-- here var second = 0; price.forEach(obj => { first += +obj[0]; // <-- here second += +obj[1]; // <-- here }); console.log(first); // --> 112.09 console.log(second); // --> 6.2349

Puede obtener cuatro dígitos después del punto de esta manera:

 var a = 1.23456789; var b = 1234.56789; var c = 16643.59000000003 const dot1000 = x => Math.round(x*10000)/10000; console.log(dot1000(a)); console.log(dot1000(b)); console.log(dot1000(c));

Otra implementación (con ceros al final)

 var a = 1.23456789 var b = 1234.56789 var c = 16643.59000000003 const dot1000 = x => parseInt(x) + '.' + (x+.00001+'').split('.')[1].slice(0,4) console.log(dot1000(a)) console.log(dot1000(b)) console.log(dot1000(c))

Actualizar

JavaScript moderno (ES2017) puede agregar ceros de esta manera:

 console.log('123'.padEnd(5,'0')); // 12300

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd

about 4 years ago · Juan Pablo Isaza Relatório

0

numerosEnArray = precio.flat()

let sum = 0 numerosEnArray.forEach( numero => suma += numero)

about 4 years ago · Juan Pablo Isaza Relatório

0

Usando el método Array.prototype.reduce() , esto se vuelve muy fácil:

 const result = arr.reduce((total, el)=> { return total + el[0] + el[1] // el = [a, b] }, 0) console.log(result) /// 118.325

Déjame saber en los comentarios si esto es lo que quieres o si quieres alguna mejora.

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