Кратко
СкопированоЭтот метод определён у массивов и строк.
Для массивов: проверяет, есть ли искомый элемент в массиве.
Для строк: проверяет, есть ли искомая подстрока в строке.
Возвращает true, если искомый элемент нашёлся и false — если нет 😎
Пример
СкопированоМетод принимает два аргумента — значение, которое нужно проверить и позицию, начиная с которой необходимо проверять.
Второй аргумент не обязательный, он равен 0 по умолчанию.
Особенности использования второго аргумента
Скопировано- Если передать в качестве аргумента положительное значение или
0, поиск начнётся с этого индекса и до конца массива. - Если передать отрицательное значение, поиск начнётся с этого индекса, отсчитанного от конца массива и будет происходить до конца массива. Для этого случая индекс начала поиска можно рассчитать по формуле —
длинна массива. Например, длинна массива/строки —/ строки + переданное отрицательное число 10, переданный аргумент —-2. Начало поиска с позиции —8, т. к.10 +.( - 2 ) = 8 - Если второй аргумент больше длинны массива/строки, то метод всегда будет возвращать
false.
Массив:
const dead = ['Джон Сноу', 'Джофри', 'Нед Старк', 'Король ночи']const isAryaDead = dead.includes('Арья Старк')console.log(isAryaDead)// falseconst isJoffreyDead = dead.includes('Джофри')console.log(isJoffreyDead)// trueconst isJohnDead = dead.includes('Джон Сноу', 1)console.log(isJohnDead)// false
const dead = ['Джон Сноу', 'Джофри', 'Нед Старк', 'Король ночи']
const isAryaDead = dead.includes('Арья Старк')
console.log(isAryaDead)
// false
const isJoffreyDead = dead.includes('Джофри')
console.log(isJoffreyDead)
// true
const isJohnDead = dead.includes('Джон Сноу', 1)
console.log(isJohnDead)
// false
Строка:
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, так как мы создали новый объект, хотя он выглядит так же как и тот, что в массиве.