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

0

108
Views
unirse a los elementos de la lista si su longitud no supera el límite máximo de caracteres

así que tengo una lista var be = ["Hello", "welcome", "Hi", "morning", "Hi"] y quiero unir las cadenas si la cadena final no supera las 12.

por lo que el resultado final debe ser una lista: ["Hello--welcome", "Hi--morning--Hi"] // I need the -- included

Intenté usar expresiones regulares uniéndolas en una cadena grande y luego usando .match pero no funcionó.

EDITAR:

esto es lo que probé:

 var s = ["Hello", "welcome", "Hi", "morning", "Hi"].join("--") var result = s.match(/.{1,12}/g) // ['Hello--welco', 'me--Hi--morn', 'ing--Hi']

Gracias

almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

  • Usando Array#reduce , itere sobre la matriz mientras actualiza una lista de objetos con matriz de words y total (longitud total de palabras). En cada iteración, verifique si agregar la cadena actual al último objeto agregado excedería un "MAX_LENGTH", si no lo actualiza, de lo contrario, agregue un nuevo objeto
  • Usando Array#map y Array#join , devuelve la lista de palabras unidas

 const arr = ["Hello", "welcome", "Hi", "morning", "Hi"], MAX_LENGTH = 12; const res = arr.reduce((list, str) => { const last = list[list.length-1]; if(last && last.total + str.length <= MAX_LENGTH) { last.total += str.length; last.words.push(str); } else { list.push({ total: str.length, words: [str] }); } return list; }, []) .map(({ words }) => words.join('--')); console.log(res);

almost 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