Skip to content

Instantly share code, notes, and snippets.

@Gerst20051
Created November 19, 2020 20:55
Show Gist options
  • Save Gerst20051/759040f70c0dd05920901531d7cd2379 to your computer and use it in GitHub Desktop.
Save Gerst20051/759040f70c0dd05920901531d7cd2379 to your computer and use it in GitHub Desktop.
Split String
const sample = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ligula massa, pretium nec sagittis posuere, ornare in augue. Integer porta sapien quis diam tempor, id commodo lorem tempor. Vestibulum ac semper erat, eget venenatis risus. Pellentesque enim nisl, dignissim quis ullamcorper sed, pretium ac ligula. Etiam in dui ipsum. Mauris nisi lorem, facilisis at feugiat non, tristique pretium eros. Donec ultricies nibh urna, egestas iaculis nulla aliquet eget. Phasellus vitae tellus sagittis, viverra elit vel, porta neque. Pellentesque enim augue, malesuada ut risus nec, eleifend fringilla purus. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur luctus, leo vitae interdum varius, lacus sapien imperdiet erat, eget aliquam orci mauris sit amet risus. Pellentesque maximus nibh id diam elementum aliquam eget vitae nisl. Morbi maximus eu sem sed posuere. Nullam aliquam ut dui nec tempus. Phasellus eget justo facilisis, lacinia quam at, sagittis tortor. Maecenas accumsan vitae justo at blandit.";
function splitString(string, n) {
return string.split(' ').reduce((lines, word) => {
const currentLine = lines[lines.length - 1];
const newLine = currentLine ? `${currentLine} ${word}` : word;
if (currentLine && newLine.length <= n) {
lines[lines.length - 1] = newLine;
} else {
lines.push(word);
}
return lines;
}, []).join('\n');
}
console.log(splitString(sample, 20));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment