Обрезание строки по пробелам

JavaScriptJavaScriptBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии мы изучим концепцию обрезания строки по пробелам в JavaScript. Мы узнаем, как ограничивать длину строки, сохраняя при этом ее читаемость, учитывая пробелы. С помощью реализации методов String.prototype.slice() и String.prototype.lastIndexOf() мы создадим функцию, которая может обрезать строку до указанной длины с необязательным окончанием.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/cond_stmts("Conditional Statements") subgraph Lab Skills javascript/variables -.-> lab-28670{{"Обрезание строки по пробелам"}} javascript/data_types -.-> lab-28670{{"Обрезание строки по пробелам"}} javascript/arith_ops -.-> lab-28670{{"Обрезание строки по пробелам"}} javascript/comp_ops -.-> lab-28670{{"Обрезание строки по пробелам"}} javascript/cond_stmts -.-> lab-28670{{"Обрезание строки по пробелам"}} end

Как обрезать строку по пробелам в 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, чтобы улучшить свои навыки.