Способ как получить последний элемент массива JavaScript

Как получить последний элемент массива JavaScript с нужным значением

14.01.2021
118
3 мин.
0

Работа с массивами стала намного легче после выхода стандарта ES6. Появились новые методы, один из которых позволяет найти последний элемент массива в JavaScript с заданным значением.

Includes()

Например, одним из новых методов является includes(), который принимает искомый элемент в качестве аргумента и возвращает true или false. Рассмотрим такой пример.

let cars = ['BMW', 'Volkswagen', 'Opel', 'Nissan']; 
cars.includes('Volkswagen'); // returns true 
cars.includes(‘Ferrari’); // returns false

Последний элемент массива JavaScript через IndexOf()

В js есть метод indexOf(), который возвращает индекс первого элемента в массиве, соответствующего указанному значению (или -1, если он не найден). Вторым параметром (необязательный) можно указать индекс, с которого начнется поиск. Но что, если необходимо получить последний элемент в массиве JavaScript с заданным значением?

let cars = ['BMW', 'Volkswagen', 'Opel', 'Nissan', ‘Lada’, ‘Mitsubishi’, ‘Volvo’]; 

// найдем Opel 
cars.indexOf('Opel'); // returns 2
 
// найдем Bugatti
cars.indexOf(‘Bugatti’); // returns -1

С помощью indexOf() можно осуществлять проверку на наличие нужного элемента в массиве. Для этого достаточно проверить, является ли возвращаемое значение больше -1.

if (cars.indexOf(‘Opel’) > -1) { 
    console.log(‘Элемент найден’); 
} else { 
    console.log(‘Элемент не найден’); 
}

Читайте также: Как проверить объект на пустоту в JavaScript.

Способ как получить последний элемент массива JavaScript
JavaScript ES6 позволяет легче получать последний элемент массива с нужным значением (изображение создано с помощью ИИ)

Последний элемент массива JavaScript с помощью LastIndexOf()

В этом случае нас выручит метод lastIndexOf(). Как следует из названия, он возвращает индекс последнего элемента массива в JavaScript с заданным значением (или число -1, если совпадений не обнаружено).

let cars = ['BMW', 'Volkswagen', 'Opel', 'Nissan', ‘Lada’, ‘Mitsubishi’, ‘Volvo’];

// найдем Opel 
cars.lastIndexOf('Opel'); // returns 6 

// найдем Bugatti 
cars.lastIndexOf('Bugatti'); // returns -1

Кроме того, он также позволяет установить индекс элемента, с которого будет начинаться поиск. Для этого он принимает второй параметр — fromIndex (необязательный). Поиск осуществляется с конца массив js и по умолчанию используется индекс последнего элемента (array.length — 1). Оба метода чувствительны к регистру символов.

Кроссбраузерность

Includes() работает во всех современных браузерах, но только не в Internet Explorer. Если требуется его поддержка, то без полифила не обойтись. Стоит отметить, что IndexOf() и lastIndexOf() воспринимаются всеми современными браузерами, в том числе IE9+.