Обрезать строку по пробелу

const truncateString = (str, num) =>
  str.length > num ? str.slice(0, num > 3 ? num - 3 : num) + '…' : str;
const truncateStringAtWhitespace = (str, lim, ending = '…') => {
  if (str.length <= lim) return str;
  const lastSpace = str.slice(0, lim - ending.length + 1).lastIndexOf(' ');
  return str.slice(0, lastSpace > 0 ? lastSpace : lim - ending.length) + ending;
};
truncateString('boomerang', 7); // 'boom…'
truncateStringAtWhitespace('short', 10); // 'short'
truncateStringAtWhitespace('not so short', 10); // 'not so…'
truncateStringAtWhitespace('trying a thing', 10); // 'trying…'
truncateStringAtWhitespace('javascripting', 10); // 'javascr…'
Текст и строки JavaScript