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

150
Visualizações
Reducir suma y resta matriz anidada

tengo un problema con reducir.

Quiero agregar el resto de las matrices de la primera matriz en la matriz. array = [[a,b],[c,d],[e,f]] el orden por venir es: (ab)+(cd)+(ef), pero mi código no funciona :((

mi código es:

 const sumAndSubtract = (numberInNestedArray) => { return numberInNestedArray.reduce((acc, cur, ind, arr) => { const firstSubtract = arr[0][0] - arr[0][1]; const otherSubtract = acc[ind] - cur[ind]; console.log(firstSubtract); console.log(otherSubtract); return firstSubtract + otherSubtract; }) } console.log(sumAndSubtract([ [10, 0], [5, 7], [6, 9] ]))

resultado esperado: 10 + (-2)+(-3)

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

0

Use reduce de la siguiente manera, donde a es la suma acumulada y b y c son los valores atómicos recuperados de cada par:

 let result = [[10, 0], [5, 7], [6, 9]].reduce((a, [b, c]) => a+bc, 0); console.log(result);

En su intento, lo siguiente no está bien:

  • La expresión arr[0][0] - arr[0][1] . Esto solo mira el primer par en la matriz y lo hace en cada iteración. En su lugar, deberías estar haciendo cur[0] - cur[1] .

  • La expresión acc[ind] - cur[ind] : ind es el índice en la matriz externa, que toma los valores 0, 1 y 2 para la entrada de ejemplo. acc[ind] es un par, no un número y cur[ind] en algún momento será una referencia fuera de rango, ya que cur solo tiene dos valores.

  • La llamada a reduce debe obtener el argumento de valor inicial, porque sin él, el primer par será el valor inicial de acc , que no desea: desea un número . Así que pase 0 como argumento de valor inicial para reduce .

  • Lo que llamas otherSubtract ya se proporciona como acc , por lo que en realidad no necesitas esta variable.

about 4 years ago · Juan Pablo Isaza Relatório

0

Podría mapear las restas y sumar los valores más tarde.

 const add = (a, b) => a + b, subtract = (a, b) => a - b, sumAndSubtract = array => array .map(a => a.reduce(subtract)) .reduce(add); console.log(sumAndSubtract([[10, 0], [5, 7], [6, 9]]));

about 4 years ago · Juan Pablo Isaza Relatório

0

La forma más corta de hacerlo será:

 numberInNestedArray.reduce((acc, cur) => acc + (cur[0] - cur[1]), 0)
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