我試圖找到下面的測試解決方案: 你應該能夠在列的給定數量的包裝線,在不破壞的話的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