Break string on spaces by char count

Should break a string on space using char count to figure out how many words per lines there should be.

by denov

HTML

<div id="console-log"></div>

CSS

#console-log {
    font-family: monospace;
    margin: 2px;
}

JavaScript

function log(text) {
    text = document.getElementById("console-log").innerHTML +"<br>"+text;
    document.getElementById("console-log").innerHTML = text;
}

function breaklines(str, n) {
    if(str === undefined) return "";
    
    var lines = str.split(/\s+/); // explode on whitespaces
    var n = +n || 50; 
    var res = [];   
    for (var i=0; i < lines.length;) {
        var wordLength = lines[i].length;        
        for (var l = 0, line = []; l + wordLength <= n; i++) {
            l += 1 + wordLength;
            line.push(lines[i]);
        }
        res.push(line.join(" "));
    }
    return res.join("<br>");
}

var txt = "My dog has fleas the quick brown fox jumps over the lazy dog etc";
var brk = breaklines(txt, 10);
log(txt);
log(brk)