JSFiddle - React, Tailwind, and code Playground

by Paulpro

JavaScript

var longstr = "This is a string with several characters. 120 to be precise I want to split it into substrings of length twenty or less.";

alert(JSON.stringify(splitter(longstr, 20)));
                            
function splitter(str, l){
    var strs = [];
    while(str.length > l){
        var pos = str.substring(0, l).lastIndexOf(' ');
        pos = pos <= 0 ? l : pos;
        strs.push(str.substring(0, pos));
        console.log(str.substring(0, pos));
        var i = str.indexOf(' ', pos);
        if(i < pos || i > pos+l)
            i = pos;
        str = str.substring(pos);
    }
    strs.push(str);
    return strs;
}