что я пытаюсь сделать, это иметь текстовое поле с определенной длиной строки без разрезания слов пополам.в данный момент я пытаюсь разрезать текст на строки длиной n, а затем пытаюсь восстановить слова, зная, когда будет следующий пробел.это то, что у меня есть в данный момент, но оно не работает полностью и исправляет только некоторые слова
function TextBox(length,text){
array = [];
test = /[A-Za-z]+/g;
//cutting the text up
for (i= 0;i < Math.ceil(text.length / length); i ++){
array.push(text.slice(i * length,Math.min((i + 1) * length,text.length)));
}
//in case it ruins the lines the first time round
for (z = 0; z < 3; z++){
//reformatting the code
for (i = 0; i < array.length - 1; i ++){
if (test.test(array[i][array[i].length - 1])){
array[i] += array[i+1].substr(0,array[i+1].indexOf(' ') + 1);
array[i + 1] = array[i + 1].substr(array[i + 1].indexOf(' ') + 1);
}
}
}
//for debugging
console.log(array);
}
TextBox(5,"i like to eat cheese when I am hungry");
РЕДАКТИРОВАТЬ, например, ввод: «Я люблю есть сыр, когда я голоден» иЯ хочу что-то вроде: [«мне нравится», «есть», «сыр», «когда я», «голоден»], что я выхожу прямо сейчас, это: [«мне нравится», «к»,«ешь с», обратите внимание на «с» из сыра «гуси», «когда», «я», «повешен», «ry»] и «ry» из голодных
с длиной строкиоколо n (5 в этом примере) символов.
Я попытался добавить и удалить дополнительный цикл for, но, насколько я могу судить, он помогает отформатировать его.
, если вы знаете, что яя делаю не так, или более простой способ сделать это было бы здорово.