Кратко
СкопированоМетод find обходит массив, начиная от последнего элемента, и возвращает значение элемента подходящего по условию переданной функции. Если подходящий элемент найден, обход прекращается и метод возвращает найденный элемент. Если при обходе массива не был найден подходящий элемент, то метод вернёт undefined.
Пример
СкопированоНайдём в массиве строк последний элемент, у которого длина больше 3:
const names = ['Ann', 'Dan', 'Julia', 'Scarlett', 'Pat']const name = names.findLast((element) => element.length > 3)console.log(name)// Scarlett
const names = ['Ann', 'Dan', 'Julia', 'Scarlett', 'Pat']
const name = names.findLast((element) => element.length > 3)
console.log(name)
// Scarlett
Найдём в массиве последний элемент, для которого соблюдается условие — значение больше 10 и нечётный индекс при этом:
const numbers = [10, 15, 5, 20, 0, -10, 25]const element = numbers.findLast((element, index) =>element > 10 && index % 2 === 1 )console.log(element)// 20
const numbers = [10, 15, 5, 20, 0, -10, 25]
const element = numbers.findLast((element, index) =>
element > 10 && index % 2 === 1 )
console.log(element)
// 20
Как пишется
СкопированоArray принимает два аргумента:
- колбэк-функция, являющаяся предикатом и используемая для определения является ли текущий элемент искомым;
- необязательный параметр, объект, используемый для определения
thisпри выполнении колбэк-функции.
Колбэк-функция принимает три необязательных аргумента:
- текущий элемент;
- индекс текущего элемента;
- массив, для которого был вызван метод
find.Last ( )
Колбэк-функция выполняется для каждого элемента массива, начиная с последнего. Как только для одного из элементов массива функция вернёт значение, которое интерпретируется как true, перебор прекращается и значение элемента возвращается как результат метода find.
Если для всех элементов массива колбэк-функция вернёт значения, которые интерпретируются как false, метод find возвратит undefined.
Подробнее об интерпретации (приведении) значений к true или false можно прочитать в статье «Булев тип».
Как понять
СкопированоМетод find используется для поиска последнего подходящего по условию значения в массиве. Удобство метода заключается в использовании колбэк-функции, определяющей искомый элемент. Это позволяет применять декларативный подход, что повышает читаемость кода, так как скрывает логику обхода массива.
Метод find имеет те же аргументы и работает так же, как и метод find, но отличается тем, что обходит массив с конца.
Подсказки
Скопировано💡 Для определения индекса последнего подходящего по условию элемента следует применять метод find.