Кратко
СкопированоМетод 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
.