.find().findIndex() и .indexOf() - это методы массивов в JavaScript, которые позволяют находить элементы в массиве. Однако, они работают немного по-разному.

Метод .find() используется для поиска первого элемента массива, который удовлетворяет заданному условию. Он возвращает значение найденного элемента или undefined, если ни один элемент не удовлетворяет условию. Формат метода: array.find(callback(element[, index[, array]])[, thisArg]). Параметр callback - это функция, которая принимает три аргумента: element - текущий элемент массива, index - индекс текущего элемента и array - сам массив. Она должна возвращать значение true, если текущий элемент удовлетворяет условию и false в противном случае.

Пример использования метода .find():

const arr = [1, 2, 3, 4, 5]
const foundElement = arr.find(function (element) {
  return element > 3
})
console.log(foundElement) // 4

Метод .findIndex() работает похожим образом, но возвращает индекс найденного элемента, а не сам элемент. Если ни один элемент не удовлетворяет условию, метод возвращает -1. Формат метода: array.findIndex(callback(element[, index[, array]])[, thisArg]).

Пример использования метода .findIndex():

const arr = [1, 2, 3, 4, 5]
const foundIndex = arr.findIndex(function (element) {
  return element > 3
})
console.log(foundIndex) // 3

Метод .indexOf() используется для поиска индекса первого элемента массива, который равен заданному значению. Он возвращает индекс найденного элемента или -1, если такой элемент не найден. Формат метода: array.indexOf(searchElement[, fromIndex]). Параметр searchElement - это значение, которое нужно найти в массиве, а параметр fromIndex - это индекс, с которого начинать поиск. Если fromIndex не указан, поиск начинается с индекса 0.

Пример использования метода .indexOf():

const arr = [1, 2, 3, 4, 5]
const foundIndex = arr.indexOf(4)
console.log(foundIndex) // 3

Таким образом, основная разница между методами .find().findIndex() и .indexOf() заключается в том, что метод .find() ищет элементы, удовлетворяющие заданному условию, метод .findIndex() возвращает индекс найденного элемента, а метод .indexOf() ищет элементы, равные заданному значению, и возвращает их индекс.


Назад