Ciao,
l'algoritmo è il seguente:
  1. Split dell'intera stringa in array contenente le singole parole. Utilizza il metodo split() passando come argomento il separatore delle parole (solitamente è lo spazio ' ')
  2. Avrai un array su cui ciclare, per ogni elemento dell'array (parola contenuta nella stringa) dividila in base alla lunghezza massima consentita (usa metodo substr()). Se la parola è più del doppio della tua lunghezza continua con il dividere la stringa rimanente dal substr() precedente. Inserisci queste parole "spezzate" in un array.
  3. Alla fine ti ritroverai con una matrice di array e utilizza il metodo array.flat() per avere tutti gli elementi in un singolo array.


Sotto un esempio:
Stringa iniziale da cui partire: stringa unstringapiulunga
  1. ['stringa', 'unastringapiulunga']
  2. (lunghezza massima 5 caratteri) [['strin', 'ga'], ['unast', 'ringa', 'piulu', 'nga']]
  3. ['strin', 'ga', 'unast', 'ringa', 'piulu', 'nga']