JSFiddle - React, Tailwind, and code Playground
by emilcieslar
JavaScript
function funcOutput(w, input) {
const lines = input.split('\n').map(function(line) {
return line.split(' ');
})
const words_temp = [].concat.apply([], lines);
let words = [];
// trim white spaces, eliminating empty words
words_temp.forEach(function(word) {
word = word.trim();
if (word.length > 0)
words.push(word);
})
// generate output lines
let line = '';
let out_lines = [];
words.forEach(function(word) {
if (line.length + word.length + 1 > w) {
out_lines.push(line);
line = '';
}
if (line.length == 0)
line = word;
else
line = line + ' ' + word;
});
if (line.length > 0)
out_lines.push(line);
// merge output_text
let out_text = '';
out_lines.forEach(function(line) {
out_text += line + '\n';
})
return out_text;
}
const result = funcOutput(25, `Lorem Ipsum is simply d de text`);
console.log(result);