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

220
Views
¿Javascript verifica si los números en una matriz son consecutivos y los almacena?

Tengo una matriz como esta:

 arr = [1,3,4,5,7,8]

Necesito verificar si el siguiente número es consecutivo al número actual y, si lo es, almacenar ambos juntos; de lo contrario, almaceno el número único en una matriz.

La matriz anterior debería dar el siguiente resultado:

 newArray = [1, 345, 78]

Intenté una solución simple y solo logré lo que quería si fueran solo 2 números consecutivos:

 for (i = 0; i < array.length; i++) { if (array[i] === array[i - 1] + 1) { newArray.push(array[i - 1] + array[i]); } else { newArray.push(array[i]); } }

Y cuando traté de hacer más números, las cosas se complicaron mucho.

Sé que esto no parece un problema importante, pero lo intento durante horas y no puedo encontrar el resultado.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

puedes hacer algo como esto

 const arr = [1,3,4,5,7,8] const groupConsecutive = arr => { const result = arr.reduce((res, n) => { if(n - res.prev === 1){ return { prev: n, current: [...res.current, n.toString()], total: res.total } } return { prev: n, current: [n.toString()], total: [...res.total, res.current] } }, {prev: '', current: [], total: []}) return [...result.total, result.current].flatMap(n => Number(n.join(''))) } console.log(groupConsecutive(arr))

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!