JS Contains - поиск вхождений в JavaScript
Методincludes() в JavaScript используется для определения наличия определенного значения в массиве или строке. Он возвращает true, если значение присутствует, и false, если его нет. Давайте рассмотрим его использование и примеры кода для лучшего понимания.
1. Проверка наличия значения в массиве:
Методincludes() можно использовать для проверки наличия значения в массиве. Рассмотрим следующий пример:
```javascript
const array = [1, 2, 3, 4, 5];
console.log(array.includes(3)); // Вывод: true
console.log(array.includes(6)); // Вывод: false
```
В этом примере мы создали массив array с числами от 1 до 5. Затем мы использовали метод includes() для проверки наличия значения 3 в массиве. Метод вернул true, так как 3 присутствует в массиве. Второй вызов с аргументом 6 вернул false, так как такого значения в массиве нет.
2. Проверка наличия подстроки в строке:
includes() также может использоваться для проверки наличия подстроки в строке. Рассмотрим пример:
```javascript
const str = 'Hello, world!';
console.log(str.includes('world')); // Вывод: true
console.log(str.includes('foo')); // Вывод: false
```
В этом примере мы создали строку str, содержащую фразу "Hello, world!". Мы использовали метод includes() для проверки наличия подстроки 'world' в строке. Метод вернул true, так как 'world' присутствует в строке. Второй вызов с аргументом 'foo' вернул false, так как такой подстроки в строке нет.
3. Использование строгого поиска:
По умолчанию методincludes() выполняет поиск значения или подстроки без учета регистра. Однако вы можете использовать строгий поиск, указав индекс, с которого начать поиск. Рассмотрим следующий пример:
```javascript
const str = 'JavaScript is awesome!';
console.log(str.includes('script')); // Вывод: true
console.log(str.includes('Script')); // Вывод: false
console.log(str.includes('Script', 0)); // Вывод: false
console.log(str.includes('Script', 4)); // Вывод: true
```
В первых двух вызовах метода includes() мы проверяем наличие подстроки 'script' и 'Script' в строке str. Первый вызов вернул true, так как без учета регистра 'script' присутствует в строке. Второй вызов вернул false, так как поиск учитывает регистр букв.
В следующих двух вызовах мы использовали строгий поиск. С помощью второго аргумента мы указали индекс, с которого начинать поиск. В первом случае метод вернул начальную позицию 4, так как подстрока 'Script' начинается с этой позиции. Во втором случае метод вернул false, так как подстрока 'Script' не начинается с позиции 0.
4. Проверка наличия значения в массиве объектов:
Методincludes() также может использоваться для проверки наличия значения в массиве объектов. Рассмотрим пример:
```javascript
const students = [
{ name: 'John', age: 20 },
{ name: 'Jane', age: 22 },
{ name: 'Alex', age: 18 }
];
console.log(students.includes({ name: 'John', age: 20 })); // Вывод: false
```
В этом примере мы создали массив объектов students, представляющих информацию о студентах. Мы пытаемся проверить наличие нового объекта { name: 'John', age: 20 } в массиве. Однако метод includes() вернул false, так как он сравнивает объекты по ссылке, а не по содержимому.
Для проверки наличия объекта в массиве вам может потребоваться использовать другие методы, такие как find() или some(), или использовать циклы для ручного сравнения значений.
В заключении, метод includes() - это простой способ проверки наличия значения в массиве или подстроки в строке. Он позволяет сэкономить время и упрощает код. Помните, что метод работает без учета регистра, если не указан строгий поиск. Также имейте в виду, что при использовании includes() с массивом объектов, сравнивается ссылка, а не содержимое объектов.