• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

121
Views
SUMA cierta columna en una matriz (Javscript)

Tengo una pregunta muy simple, estoy aprendiendo javascript.

Tengo esta matriz 2D: -

 let text = [[1,a],[2,b]]

Y quiero sumar los valores numéricos de la matriz, sé cómo hacerlo usando for loop, pero ¿hay alguna forma de hacerlo de manera más corta, como podemos hacerlo usando una matriz 1D usando reduce ?

Si tengo esta matriz: -

 let text = [1,2]

Puedo resumirlo fácilmente en una línea como esta: -

 text.reduce((a,b) => a + b)

¿Hay alguna forma de hacerlo de la misma manera con una matriz 2d que también tiene valores de cadena?

Gracias

about 3 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Puede usar ese mismo Array.prototype.reduce() ligeramente modificado para crear una función de resumen personalizada que puede aceptar la matriz de origen y la variable col que indica la columna de destino:

 const src = [[1,'a'],[2,'b']] const sumByCol = (arr, col) => arr.reduce((acc, row) => acc + row[col], 0) console.log(sumByCol(src,0))

about 3 years ago · Juan Pablo Isaza Report

0

Podrías hacer lo siguiente

 let text = [[1,'a'],[2,'b']] let numbers_only = text.flat().filter(x => Number(x)) let sum = numbers_only.reduce((a,b) => a + b) //answer = 3

Como una sola línea -

 let sum = text.flat().filter(x => Number(x)).reduce((a,b) => a + b)
about 3 years ago · Juan Pablo Isaza Report

0

Puede lograrlo en una sola línea haciendo esto :

 let text = [[1,'a'],[2,'b']] console.log( text.flat() .filter((item) => typeof item === 'number') .reduce((total, item) => total + item) )

about 3 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 Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error