loop variable incorrect when changed in loop block with let scope
Before:
lines = lines.map(function(line) {
if (line.indexOf(' ') >= 0)
for (let lineLen = line.length; lineLen < len; )
line = line.replace(/ +/g, function(spaces) {
return spaces + (lineLen++ < len ? ' ' : '');
});
return line;
});
After:
lines = lines.map(function(line) {
if (line.indexOf(' ') >= 0)
var loop = function ( lineLen ) {
line = line.replace(/ +/g, function(spaces) {
return spaces + (lineLen++ < len ? ' ' : '');
});
};
for (var lineLen = line.length; lineLen < len; )
loop( lineLen );
return line;
});