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

103
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