@jjsf

Как проставить нужный символ в строку через каждые 15 символов(не более), не разбивая слова?

Делаю так:
function cutString(str, n) {
var res = [];
  for(var i = 0 ; i < str.length; i += n) {
    res.push(str.substr(i, n));
  }
  return res;
}
var text = cutString('слова слова слов слова слова слов слова слова слов  ',15)

console.log(text.join('-'));

На выходе:
"слова слова сло-в слова слова с-лов слова слова- слов "
А требуется чтобы было так:
"слова слова-слов слова слова-слов слова слова- слов "
  • Вопрос задан
  • 82 просмотра
Решения вопроса 2
hahenty
@hahenty
('•')
[...'слова слова слов слова слова слов слова слова слов  '.matchAll( /\S.{10,15}(?=\s|$)/g )].flat()

как способ. 10 для примерного ограничения по количеству символов снизу.
Ответ написан
@WAR_VIK
Можно так:
function cutString(str, max) {
      let arr = str.split(' ');
      let res = '', tmp = '';
     for(let word of arr) {
            tmp += word + ' ';
            if(tmp.length > max) {
                   res += tmp.slice(0, -(word.length+2));
                   res += '-' + word + ' ';
                   tmp = '';
            }
      }
      return res;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы