我试图找到下面的测试解决方案: 你应该能够在列的给定数量的包装线,在不破坏的话的JavaScript字符串包裹
输入字符串为:
var inputStrings = [
'abcdef abcde abc def',
'abc abc abc',
'a b c def'
];
和输出应该是:
var outputStrings = [
'abcdef\nabcde\nabc\ndef',
'abc\nabc\nabc',
'a b c\ndef'
];
我想出了这样的jsfiddle是通过2出3个测试: 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' + wordsArray[i];
} else {
formatedString +=' ' + wordsArray[i];
}
}
}
console.log(formatedString);
}
//wordWrap('abcdef abcde abc def', 5);
wordWrap('abc abc abc', 5);
//wordWrap('a b c def', 5);
//'abcdef abcde abc def' | 'abcdef\nabcde\nabc\ndef',
//'abc abc abc' | 'abc\nabc\nabc',
//'a b c def' | 'a b c\ndef'
但我不能找出如何通过第二个( 'ABC ABC ABC');
它必须是纯粹的JavaScript。
任何指针?
谢谢。
为什么没有第三个项目\ n适用于所有空间? – gurvinder372
请在问题**中显示代码** ...将其置于jsfiddle中是不可接受的 – freefaller
另外,如果这是一项测试,为什么要求我们为您做这件事?当然,测试的目的是证明你可以自己做点什么? – freefaller