Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
skorobaeus authored Jan 24, 2024
1 parent f94cccd commit 0faccf0
Showing 1 changed file with 13 additions and 10 deletions.
23 changes: 13 additions & 10 deletions js/array-find-last/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "`.findLast()`"
description: "Найдет первый подходящий по условию элемент, обходя массив начиная с конца."
description: "Найдёт первый подходящий по условию элемент, обходя массив, начиная с конца."
authors:
- vitya-ne
related:
Expand All @@ -13,7 +13,7 @@ tags:

## Кратко

Метод `findLast()` обходит массив начиная от последнего элемента и возвращает значение элемента подходящего по условию переданной функции. Если подходящий элемент найден, обход прекращается и метод возвращает найденный элемент. Если при обходе массива не был найден подходящий элемент, то метод вернёт `undefined`.
Метод `findLast()` обходит массив, начиная от последнего элемента, и возвращает значение элемента подходящего по условию переданной функции. Если подходящий элемент найден, обход прекращается и метод возвращает найденный элемент. Если при обходе массива не был найден подходящий элемент, то метод вернёт `undefined`.

## Пример

Expand All @@ -27,7 +27,7 @@ console.log(name)
// Scarlett
```

Найдем в массиве последний элемент, для которого соблюдается условие: значение больше 10 и при этом индекс нечетный:
Найдем в массиве последний элемент, для которого соблюдается условиезначение больше 10 и при этом индекс нечётный:

```js
const numbers = [10, 15, 5, 20, 0, -10, 25]
Expand All @@ -40,27 +40,30 @@ console.log(element)
## Как пишется

`Array.findLast` принимает два аргумента:

- колбэк-функция, являющаяся предикатом и используемая для определения является ли текущий элемент искомым;
- необязательный параметр, объект, используемый для определения `this` при выполнении колбэк-функции.

Колбэк-функция, принимает три необязательных аргумента:
Колбэк-функция принимает три необязательных аргумента:

- текущий элемент;
- индекс текущего элемента;
- массив, для которого был вызван метод `findLast()`.

Колбэк-функция, выполняется для каждого элемента массива, начиная с последнего. Как только для одного из элементов массива функция вернёт значение, которое интерпретируются как `true`, перебор прекращается и значение элемента возвращается как результат метода `findLast()`.
Если для всех элементов массива колбэк-функция вернёт значение, которое интерпретируются как `false`, метод `findLast()` возвращает `undefined`.
Колбэк-функция, выполняется для каждого элемента массива, начиная с последнего. Как только для одного из элементов массива функция вернёт значение, которое интерпретируется как `true`, перебор прекращается и значение элемента возвращается как результат метода `findLast()`.

Если для всех элементов массива колбэк-функция вернёт значения, которые интерпретируются как `false`, метод `findLast()` возвратит `undefined`.

Подробнее об интерпретации (приведении) значений к `true` или `false` можно почитать в статье [Булев тип](https://doka.guide/js/boolean/#vyrazheniya)
Подробнее об интерпретации (приведении) значений к `true` или `false` можно прочитать в статье [Булев тип](https://doka.guide/js/boolean/#vyrazheniya).

## Как понять

Метод `findLast()` используется для поиска последнего подходящего по условию значения в массиве. Удобство метода заключается в использовании колбэк-функции определяющей искомый элемент. Это позволяет применять декларативный подход, что повышает читаемость кода, так как скрывает логику обхода массива.
Метод `findLast()` используется для поиска последнего подходящего по условию значения в массиве. Удобство метода заключается в использовании колбэк-функции, определяющей искомый элемент. Это позволяет применять декларативный подход, что повышает читаемость кода, так как скрывает логику обхода массива.

Метод `findLast()` имеет те же аргументы и работает также как метод `find()`, но отличается тем, что обходит массив с конца.
Метод `findLast()` имеет те же аргументы и работает так же, как и метод `find()`, но отличается тем, что обходит массив с конца.

Использование колбэк-функции позволяет применять декларативный подход, что повышает читаемость кода, так как скрывает логику обхода массива.

## Подсказки

💡 Для определения индекса последнего подходящего по условию элемента, следует применять метод `findLastIndex()`.
💡 Для определения индекса последнего подходящего по условию элемента следует применять метод `findLastIndex()`.

0 comments on commit 0faccf0

Please sign in to comment.