Кратко
СкопированоЭтот метод определён у массивов и строк.
Для массивов: проверяет, есть ли искомый элемент в массиве.
Для строк: проверяет, есть ли искомая подстрока в строке.
Возвращает true
, если искомый элемент нашёлся и false
— если нет 😎
Пример
СкопированоМетод принимает один аргумент — значение, которое нужно проверить.
Массив:
const dead = ['Джофри', 'Нед Старк', 'Король ночи']const isJonDead = dead.includes('Джон Сноу')console.log(isJonDead)// falseconst isJoffreyDead = dead.includes('Джофри')console.log(isJoffreyDead)// true
const dead = ['Джофри', 'Нед Старк', 'Король ночи'] const isJonDead = dead.includes('Джон Сноу') console.log(isJonDead) // false const isJoffreyDead = dead.includes('Джофри') console.log(isJoffreyDead) // true
Строка:
const text = 'Посмотри, ведь это рядом наша панда. Мы бежим с тобой как-будто от гепарда.'console.log(text.includes('панда'))// trueconsole.log(text.includes('Обезьяна'))// false// поиск идет с учетом регистраconsole.log(text.includes('Панда'))// false
const text = 'Посмотри, ведь это рядом наша панда. Мы бежим с тобой как-будто от гепарда.' console.log(text.includes('панда')) // true console.log(text.includes('Обезьяна')) // false // поиск идет с учетом регистра console.log(text.includes('Панда')) // false
На практике
Скопированосоветует Скопировано
🛠 Используйте метод, когда нужно убедиться в том, что объект находится в массиве. Например, чтобы не добавить одно и то же значение дважды.
🛠 Будьте внимательны при передаче в includes
объектов. Если два объекта выглядят одинаково, это не обязательно один объект, потому что объекты хранятся по ссылке.
const phoneContacts = [ { name: 'Иван', lastName: 'Таранов' }, { name: 'Игорь', lastName: 'Иванов' }, { name: 'Мама', lastName: '' },]console.log(phoneContacts.includes( { name: 'Мама', lastName: '' }))// false
const phoneContacts = [ { name: 'Иван', lastName: 'Таранов' }, { name: 'Игорь', lastName: 'Иванов' }, { name: 'Мама', lastName: '' }, ] console.log(phoneContacts.includes( { name: 'Мама', lastName: '' } )) // false
Здесь console
выведет false
, так как мы создали новый объект, хотя он выглядит так же как и тот, что в массиве.