Преобразование строки в kebab case с использованием JavaScript

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

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

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

Введение

В этом практическом занятии мы изучим, как преобразовать заданную строку в «kebab case» с использованием JavaScript. «Kebab case» — это распространённое соглашение об именовании в программировании, при котором слова в строке разделяются дефисами. Мы будем использовать регулярные выражения и методы массивов для разделения строки на слова и последующего объединения их в формате «kebab case».


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced 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/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28653{{"Преобразование строки в kebab case с использованием JavaScript"}} javascript/data_types -.-> lab-28653{{"Преобразование строки в kebab case с использованием JavaScript"}} javascript/arith_ops -.-> lab-28653{{"Преобразование строки в kebab case с использованием JavaScript"}} javascript/comp_ops -.-> lab-28653{{"Преобразование строки в kebab case с использованием JavaScript"}} javascript/higher_funcs -.-> lab-28653{{"Преобразование строки в kebab case с использованием JavaScript"}} end

Преобразование строки в «kebab case»

Для преобразования строки в «kebab case» следуйте этим шагам:

  1. Откройте Терминал/SSH и введите node, чтобы начать практиковаться в написании кода.
  2. Используйте String.prototype.match(), чтобы разбить строку на слова с использованием соответствующего регулярного выражения.
  3. Используйте Array.prototype.map(), Array.prototype.join() и String.prototype.toLowerCase(), чтобы объединить слова, добавляя - в качестве разделителя.

Вот пример функции, которая выполняет преобразование:

const toKebabCase = (str) =>
  str &&
  str
    .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)
    .map((x) => x.toLowerCase())
    .join("-");

Вы можете использовать эту функцию для преобразования строк в «kebab case», как показано ниже:

toKebabCase("camelCase"); // 'camel-case'
toKebabCase("some text"); //'some-text'
toKebabCase("some-mixed_string With spaces_underscores-and-hyphens");
//'some-mixed-string-with-spaces-underscores-and-hyphens'
toKebabCase("AllThe-small Things"); // 'all-the-small-things'
toKebabCase("IAmEditingSomeXMLAndHTML");
// 'i-am-editing-some-xml-and-html'

Резюме

Поздравляем! Вы завершили практическое занятие по преобразованию строк в «kebab case». Вы можете выполнить больше практических заданий в LabEx, чтобы улучшить свои навыки.