Примеры решения задач

Задача . Поиск и замена

Задача. Дана строка 'aaa@bbb@ccc'. Замените все @ на '!' с помощью глобального поиска и замены.

Решение: в данном случае необходимо воспользоваться методом replace, который выполняет поиск и замену. Однако, при простом варианте использования, эта метод найдет и заменит только первое совпадение:

var str = 'aaa@bbb@ccc';
alert(str.replace('@', '!')); //получим 'aaa!bbb@ccc'

Чтобы заменить все совпадения, воспользуемся глобальным поиском с помощью регулярного выражения:

var str = 'aaa@bbb@ccc';
alert(str.replace(/@/g, '!')); //получим 'aaa!bbb!ccc'

Задача . Методы substr, substring, slice

Задача. Дана строка 'aaa bbb ccc'. Вырежите из нее слово 'bbb' тремя разными способами (через substr, substring, slice).

Решение: слово 'bbb' начинается с символа номер 4 (нумерация с нуля), а заканчивается символом номер 6. Воспользуемся указанными методами:

var str = 'aaa bbb ccc';
alert(str.substr(4, 3)); //substr(откуда отрезать, сколько отрезать)
alert(str.substring(4, 7)); //substring(откуда отрезать, докуда отрезать)
alert(str.slice(4, 7)); //slice(откуда отрезать, докуда отрезать)

Обратите внимание на то, что в методах substring и slice второй параметр должен быть на 1 больше того символа, который мы хотим забрать (то есть, если указать число 7 - то отрезание произойдет до 6 символа включительно).

Задача . Преобразование формата даты

Задача. В переменной date лежит дата в формате '2025-12-31'. Преобразуйте эту дату в формат '31/12/2025'.

Решение: с помощью метода split разобьем нашу строку '2025-12-31' в массив по разделителю '-', при этом в нулевом элементе окажется год, в первом - месяц, во втором - день:

var str = '2025-12-31';
var arr = split('-');
alert(arr);//получим массив ['2025', '12', '31']

Теперь, обращаясь к разным элементам массива по их ключам, сформируем нужную нам строку:

var str = '2025-12-31';
var arr = split('-');
var newStr = arr[2] + '/' + arr[1] + '/'+arr[0];
alert(newStr); //получим строку '31/12/2025'

Задачи для решения

Работа с регистром символов

Для решения задач данного блока вам понадобятся следующие методы: toUpperCase, toLowerCase.

Дана строка 'js'. Сделайте из нее строку 'JS'.

Решение:

var str = 'js';
alert(str.toUpperCase());

Дана строка 'JS'. Сделайте из нее строку 'js'.

Решение:

var str = 'JS';
alert(str.toLowerCase());

Работа с length, substr, substring, slice. Работа с indexOf

Для решения задач данного блока вам понадобятся следующие методы: length, substr, substring, slice, indexOf.

Дана строка 'я учу javascript!'. Найдите количество символов в этой строке.

Решение:

var str = 'я учу javascript!';
alert(str.length);

Дана строка 'я учу javascript!'. Вырежите из нее слово 'учу' и слово 'javascript' тремя разными способами (через substr, substring, slice).

Решение:

Через substr:

var str = 'я учу javascript!';
alert(str.substr(1, 4));

Через substring:

var str = 'я учу javascript!';
alert(str.substring(2, 6));

Через slice:

var str = 'я учу javascript!';
alert(str.slice(1, 5));

Дана строка 'я учу javascript!'. Найдите позицию подстроки 'учу'.

Решение:

var str = 'я учу javascript!';
alert(str.indexOf('учу'));

Дана переменная str, в которой хранится какой-либо текст. Реализуйте обрезание длинного текста по следующему принципу: если количество символов этого текста больше заданного в переменной n, то в переменную result запишем первые n символов строки str и добавим в конец троеточие '...'. В противном случае в переменную result запишем содержимое переменной str.

Решение:

var str = 'я учу javascript!';
var n = 4;
if (str.length > n) {
	var result = str.substr(0, n) + '...';
} else {
	var result = str;
}
alert(result);

Работа с replace

Для решения задач данного блока вам понадобятся следующие методы: replace.

Дана строка 'Я-учу-javascript!'. Замените все дефисы на '!' с помощью глобального поиска и замены.

Решение:

var str = 'Я-учу-javascript!';
alert(str.replace(/-/g, '!'));

Работа с split

Для решения задач данного блока вам понадобятся следующие методы: split.

Дана строка 'я учу javascript!'. С помощью метода split запишите каждое слово этой строки в отдельный элемент массива.

Решение:

var str = 'я учу javascript!';
var arr = str.split(' ');
alert(arr);

Дана строка 'я учу javascript!'. С помощью метода split запишите каждый символ этой строки в отдельный элемент массива.

Решение:

var str = 'я учу javascript!';
var arr = str.split('');
alert(arr);

В переменной date лежит дата в формате '2025-12-31'. Преобразуйте эту дату в формат '31.12.2025'.

Решение:

var date  = '2025-12-31';
var arr = date.split('-');
alert(arr[2] + '.' + arr[1] + '.' + arr[0]);

Работа с join

Для решения задач данного блока вам понадобятся следующие методы: join.

Дан массив ['я', 'учу', 'javascript', '!']. С помощью метода join преобразуйте массив в строку 'я+учу+javascript+!'.

Решение:

var arr = ['я', 'учу', 'javascript', '!'];
alert(arr.join('+'));

Задачи

Преобразуйте первую букву строки в верхний регистр.

Решение:

var str = 'я учу javascript!';
var first = str.slice(0, 1).toUpperCase() + str.slice(1);
alert(first);

Преобразуйте первую букву каждого слова строки в верхний регистр.

Решение:

var str = 'я учу javascript!';
var arr = str.split(' ');
for (var i = 0; i < arr.length; i++) {
	arr[i] = arr[i].slice(0, 1).toUpperCase() + arr[i].slice(1);
}
alert(arr);

Преобразуйте строку 'var_test_text' в 'varTestText'. Скрипт, конечно же, должен работать с любыми аналогичными строками.

Решение:

var str = 'var_test_text';
var arr = str.split('_');
for (var i = 1; i < arr.length; i++) { //цикл начнем с i = 1, а не i = 0
	arr[i] = arr[i].slice(0, 1).toUpperCase() + arr[i].slice(1);
}
var result = arr.join('');
alert(result);