Одним из распространенных задач при работе с массивами в 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(), так как они были специально разработаны и оптимизированы для этих целей.
Перейти в телеграм, чтобы получить результаты теста






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