- Теория
- Теория
Массивы: Аналитика пользователей
Видеоблог Кекса (тот самый «Видеоблох») смотрит много пользователей, это мы уже выяснили. Но Кексу недостаточно знать число юзеров, он хочет лучше узнать свою аудиторию, чтобы делать видео популярней. Поэтому Босс попросил вас написать анализатор пользовательских данных.
Мяу! Напиши программу, которая будет собирать статистику из пользовательских данных.
Массив с данными записан в переменную
usersData
.Найди все элементы массива с данными, в которых содержится определённая строка. Эта искомая строка записана в переменную
query
.Количество подходящих элементов (пользователей), которые подходят под критерий, запиши в переменную
matchingUsers
.Чтобы проверить наличие строки в элементе массива, используй команду
indexOf()
.
Команда indexOf
позволяет узнать, содержится ли в одной строке другая строка. Такая операция называется поиском подстроки. Команда indexOf
возвращает индекс, на котором начинается подстрока, а если этой подстроки нет, возвращает -1
.
Что за индексы? Тут всё, как в массивах. Мы можем узнать длину строки. Можем найти строку из одного символа, если обратиться ко всей строке, используя индекс. Синтаксис вам уже знаком по работе с массивами:
// Записываем строку в переменную
let string = 'Меня зовут Кекс';
// Ищем самый первый элемент в строке
console.log(string[0]); // Выведет: М
// Ищем шестой элемент в строке
console.log(string[5]); // Выведет: з
А теперь давайте посмотрим, как работает команда indexOf
:
// Ищем, есть ли в строке подстрока 'Кекс'
string.indexOf('Кекс') // Вернёт 11
// Ищем, есть ли в строке подстрока 'Снежок'
string.indexOf('Снежок') // Вернёт -1, такой подстроки нет
let searchString = 'Меня зовут';
// Ищем, есть ли в строке подстрока 'Меня зовут'
string.indexOf(searchString)// Вернёт 0
Когда программа будет готова, жмите Заказчик, принимай программу!. Массив данных и искомая строка будут меняться. Кекс проверит корректность работы вашей программы.
- index.html
Вы перешли на другую страницу
Кликните внутри мини-браузера, чтобы поставить фокус в это окно.