Найти элемент в JavaScript: поиск элементов в массиве и DOM в JS

В JavaScript поиск элементов выполняется в массивах и в структуре DOM. Для этого используются различные методы, подходящие под разные сценарии.

Поиск элемента в массиве

Метод indexOf()

Метод indexOf() возвращает индекс первого вхождения элемента в массиве или -1, если элемент не найден.

const numbers = [10, 20, 30, 40];

console.log(numbers.indexOf(30)); // 2
console.log(numbers.indexOf(50)); // -1

Этот метод работает только с примитивными значениями.

Метод find()

Метод find() возвращает первый элемент, удовлетворяющий переданной функции.

const users = [
  { id: 1, name: "Alice" },
  { id: 2, name: "Bob" }
];

const user = users.find(user => user.id === 2);
console.log(user); // { id: 2, name: "Bob" }

Подходит для поиска объектов и сложных структур.

Метод findIndex()

Метод findIndex() аналогичен find(), но возвращает индекс элемента.

const numbers = [5, 12, 8, 130, 44];

const index = numbers.findIndex(num => num > 10);
console.log(index); // 1

Метод includes()

Метод includes() проверяет наличие элемента в массиве и возвращает true или false.

const fruits = ["apple", "banana", "cherry"];

console.log(fruits.includes("banana")); // true
console.log(fruits.includes("grape"));  // false

Метод some()

Метод some() проверяет, есть ли хотя бы один элемент, удовлетворяющий переданному условию.

const numbers = [1, 2, 3, 4, 5];

const hasEven = numbers.some(num => num % 2 === 0);
console.log(hasEven); // true

Поиск элемента в DOM

Метод getElementById()

Метод getElementById() ищет элемент по id и возвращает ссылку на него или null, если элемент не найден.

const element = document.getElementById("myElement");
console.log(element);

Метод getElementsByClassName()

Метод getElementsByClassName() возвращает коллекцию элементов с указанным классом.

const elements = document.getElementsByClassName("myClass");
console.log(elements);

Метод getElementsByTagName()

Метод getElementsByTagName() ищет элементы по тегу.

const paragraphs = document.getElementsByTagName("p");
console.log(paragraphs);

Метод querySelector()

Метод querySelector() возвращает первый найденный элемент по CSS-селектору.

const element = document.querySelector(".container .item");
console.log(element);

Метод querySelectorAll()

Метод querySelectorAll() возвращает все элементы, соответствующие селектору.

const items = document.querySelectorAll(".list-item");
console.log(items);