我正在尝试为以下测试找到解决方案: 您应该能够在给定的列数处换行,而不会中断单词
输入字符串是:
var inputStrings = [
'abcdef abcde abc def',
'abc abc abc',
'a b c def'
];
Run Code Online (Sandbox Code Playgroud)
并且输出应该是:
var outputStrings = [
'abcdef\nabcde\nabc\ndef',
'abc\nabc\nabc',
'a b c\ndef'
];
Run Code Online (Sandbox Code Playgroud)
我想出了这个 jsfiddle,它通过了 3 个测试中的 2 个:https ://jsfiddle.net/ticuclaudiu/yh269rc0/5/
function wordWrap(str, cols) {
var formatedString = '',
wordsArray = [];
wordsArray = str.split(' ');
for(var i = 0; i < wordsArray.length; i++) {
if(wordsArray.indexOf(wordsArray[i]) === 0) {
formatedString += wordsArray[i];
} else {
if(wordsArray[i].length > 1) {
formatedString += '/n' + …Run Code Online (Sandbox Code Playgroud)