Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

149
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!