Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
ПРИХОДИТЕ УЧИТЬСЯ НОВОЙ ПРОФЕССИИ ЛЕТОМ СО СКИДКОЙ ДО 70% Забронировать скидку
06 Июл 2023
2 мин
941

Определение наличия значения в массиве в JavaScript

Одним из распространенных задач при работе с массивами в JavaScript является проверка, содержит ли массив определенное значение. Например, есть массив

Одним из распространенных задач при работе с массивами в JavaScript является проверка, содержит ли массив определенное значение. Например, есть массив с именами пользователей, и нужно узнать, есть ли в нем имя «Иван».

let names = ["Вася", "Петя", "Маша", "Даша"];

Существуют различные способы выполнить эту задачу в JavaScript.

Использование метода includes()

Самым простым и современным способом является использование метода includes(), который был добавлен в стандарт ES2016 (ES7). Этот метод проверяет, есть ли определенное значение в массиве, и возвращает true или false.

let names = ["Вася", "Петя", "Маша", "Даша"];
console.log(names.includes("Иван")); // false
console.log(names.includes("Вася")); // true

Использование метода indexOf()

Если работа происходит в старых браузерах, которые не поддерживают метод includes(), можно использовать метод indexOf(). Этот метод возвращает индекс первого вхождения указанного значения в массив или -1, если значение не найдено.

let names = ["Вася", "Петя", "Маша", "Даша"];
console.log(names.indexOf("Иван") !== -1); // false
console.log(names.indexOf("Вася") !== -1); // true

Создание собственной функции

Если же по каким-то причинам необходимо создать собственную функцию для проверки наличия значения в массиве, это тоже можно сделать. Вот пример такой функции:

Array.prototype.contains = function(value) {
    for (let i = 0; i < this.length; i++) {
        if (this[i] === value) {
            return true;
        }
    }
    return false;
}

let names = ["Вася", "Петя", "Маша", "Даша"];
console.log(names.contains("Иван")); // false
console.log(names.contains("Вася")); // true

Эта функция проходит по всем элементам массива, и если находит совпадение, возвращает true. Если совпадений не найдено, возвращает false.

В заключение стоит отметить, что в большинстве случаев лучше использовать встроенные методы JavaScript, такие как includes() или indexOf(), так как они были специально разработаны и оптимизированы для этих целей.

Добавить комментарий

Подарок
Забрать подарок