Введение
В этом практическом занятии мы изучим концепцию обрезания строки по пробелам в JavaScript. Мы узнаем, как ограничивать длину строки, сохраняя при этом ее читаемость, учитывая пробелы. С помощью реализации методов String.prototype.slice() и String.prototype.lastIndexOf() мы создадим функцию, которая может обрезать строку до указанной длины с необязательным окончанием.
Как обрезать строку по пробелам в JavaScript
Для практики программирования откройте Терминал/SSH и введите node.
Вот функция, которая обрезает строку до указанной длины, сохраняя при этом пробелы, если это возможно:
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;
};
Для использования этой функции передайте в качестве первого аргумента строку, которую вы хотите обрезать, в качестве второго аргумента максимальную длину и в качестве третьего аргумента необязательную строку окончания. Если длина строки меньше или равна указанной границе, возвращается исходная строка. В противном случае функция найдет последний пробел перед ограничением и обрежет строку в этом месте, добавляя строку окончания, если она указана.
Вот несколько примеров:
truncateStringAtWhitespace("short", 10); // 'short'
truncateStringAtWhitespace("not so short", 10); // 'not so...'
truncateStringAtWhitespace("trying a thing", 10); // 'trying...'
truncateStringAtWhitespace("javascripting", 10); // 'javascr...'
Резюме
Поздравляем! Вы завершили практическое занятие по обрезанию строки по пробелам. Вы можете выполнить больше практических заданий в LabEx, чтобы улучшить свои навыки.