Урок 10: Строки
Строки являются важной частью программирования на JavaScript. В этом уроке мы рассмотрим основные методы работы со строками и шаблонные строки.
Основные методы работы со строками
JavaScript предоставляет множество методов для работы со строками. Рассмотрим некоторые из них.
length
Свойство length
возвращает длину строки.
let str = 'Hello, world!';
console.log(str.length);
toUpperCase и toLowerCase
Методы toUpperCase
и toLowerCase
возвращают строку в верхнем и нижнем регистре соответственно.
let str = 'Hello, world!';
console.log(str.toUpperCase());
console.log(str.toLowerCase());
HELLO, WORLD!
hello, world!
includes
Метод includes
проверяет, содержит ли строка указанную подстроку, и возвращает true
или false
.
let str = 'Hello, world!';
console.log(str.includes('world'));
console.log(str.includes('JavaScript'));
substring
Метод substring
возвращает часть строки между двумя указанными индексами.
let str = 'Hello, world!';
console.log(str.substring(0, 5));
console.log(str.substring(7));
split
Метод split
разбивает строку на массив подстрок, используя указанный разделитель.
let str = 'apple,banana,cherry';
let arr = str.split(',');
console.log(arr);
['apple', 'banana', 'cherry']
Шаблонные строки
Шаблонные строки позволяют вставлять выражения в строки. Они заключаются в обратные кавычки (`
) и используют синтаксис ${...}
для вставки выражений.
let name = 'Alice';
let age = 30;
let message = `Hello, my name is ${name} and I am ${age} years old.`;
console.log(message);
Hello, my name is Alice and I am 30 years old.
Примеры использования строк
Рассмотрим несколько примеров, демонстрирующих использование строк и их методов.
// Пример 1: Проверка наличия подстроки
let sentence = 'The quick brown fox jumps over the lazy dog';
let word = 'fox';
if (sentence.includes(word)) {
console.log(`The word "${word}" is in the sentence.`);
} else {
console.log(`The word "${word}" is not in the sentence.`);
}
// Пример 2: Форматирование строки
let firstName = 'John';
let lastName = 'Doe';
let fullName = `${firstName} ${lastName}`;
console.log(fullName); // John Doe
// Пример 3: Извлечение доменного имени из URL
let url = 'https://www.example.com/path';
let domain = url.split('/')[2];
console.log(domain); // www.example.com
The word "fox" is in the sentence.
John Doe
www.example.com
Упражнения
Упражнение 1: Проверка палиндрома
Создайте функцию isPalindrome
, которая принимает строку и возвращает true
, если строка является палиндромом (читается одинаково в обоих направлениях), и false
в противном случае. Игнорируйте пробелы и регистр символов.
Решение:
// Функция для проверки палиндрома
function isPalindrome(str) {
str = str.replace(/\s+/g, '').toLowerCase();
return str === str.split('').reverse().join('');
}
// Примеры использования функции
console.log(isPalindrome('A man a plan a canal Panama')); // true
console.log(isPalindrome('Hello, world!')); // false
Объяснение: Мы создали функцию isPalindrome
, которая удаляет все пробелы и преобразует строку к нижнему регистру, затем сравнивает строку с ее перевернутой версией. Если они совпадают, строка является палиндромом.
Упражнение 2: Форматирование даты
Создайте функцию formatDate
, которая принимает объект Date
и возвращает строку в формате DD/MM/YYYY
. Используйте методы объекта Date
для получения компонентов даты.
Решение:
// Функция для форматирования даты
function formatDate(date) {
let day = date.getDate();
let month = date.getMonth() + 1; // Месяцы начинаются с 0
let year = date.getFullYear();
// Добавление ведущих нулей к дню и месяцу
day = day < 10 ? '0' + day : day;
month = month < 10 ? '0' + month : month;
return `${day}/${month}/${year}`;
}
// Пример использования функции
let date = new Date(2024, 4, 17); // 17 мая 2024 года
console.log(formatDate(date)); // 17/05/2024
Объяснение: Мы создали функцию formatDate
, которая принимает объект Date
и возвращает строку в формате DD/MM/YYYY
. Мы используем методы объекта Date
для получения компонентов даты и добавляем ведущие нули для дней и месяцев, состоящих из одной цифры.