Поиск массивов JavaScript
- Предыдущая страница Методы массива JS
- Следующая страница Сортировка массива JS
Методы поиска и поиска массива
- Array indexOf()
- Array lastIndexOf()
- Array includes()
- Array find()
- Array findIndex()
- Array findLast()
- Array findLastIndex()
См. также:
JavaScript Array indexOf()
indexOf()
Метод в массиве ищет значение элемента и возвращает его position.
Внимание:Положение первого элемента - 0, положение второго элемента - 1 и так далее.
Пример
Поиск элемента "Яблоко" в массиве:
const фрукты = ["Яблоко", "Апельсин", "Яблоко", "Манго"]; let position = фрукты.indexOf("Яблоко") + 1;
грамматика
array.indexOf(item, start)
item | Обязателен. Элемент, который нужно искать. |
start | Опционально. Начальная позиция поиска. Отрицательные значения будут считаться от конца массива и до конца. |
Возвратное значение:
- Если элемент не найден, возвращает -1.
- Если элемент встречается несколько раз, возвращает положение первого occurrence.
JavaScript Array lastIndexOf()
lastIndexOf()
Метод аналогичен indexOf()
Точно так же, но возвращает положение последнего出现的 элемента.
Пример
Поиск элемента "Яблоко" в массиве:
const фрукты = ["Яблоко", "Апельсин", "Яблоко", "Манго"]; let position = фрукты.lastIndexOf("Яблоко") + 1;
грамматика
array.lastIndexOf(item, start)
item | Обязателен. Элемент, который нужно искать. |
start | Опционально. Начальная позиция поиска. Отрицательные значения будут считаться от конца массива и до начала. |
JavaScript Array includes()
ECMAScript 2016 ввел Array.includes()
Метод. Он позволяет нам проверить, содержит ли массив определенный элемент (включая NaN, в отличие от indexOf).
Пример
const фрукты = ["Банан", "Апельсин", "Яблоко", "Манго"]; fruits.includes("Mango"); // возвращает true
грамматика
array.includes(search-item)
search-item:элемент для поиска.
Внимание:includes()
может проверять значения NaN, в то время как indexOf()
нельзя.
Поддержка браузеров
includes()
является ECMAScript 2016 свойства.
С марта 2017 года все современные браузеры поддерживают ES2016:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 52 | Edge 15 | Firefox 52 | Safari 10.1 | Opera 39 |
июль 2016 года | апрель 2017 года | март 2017 года | май 2017 года | август 2016 года |
Internet Explorer не поддерживает includes().
JavaScript Array find()
find()
Метод возвращает значение первого элемента массива, удовлетворяющего тестовой функции.
Пример
Найти первый элемент, большего 18:
const numbers = [4, 9, 16, 25, 29]; let first = numbers.find(myFunction); function myFunction(value, index, array) { return value > 18; }
Внимание:функция принимает 3 параметра:
- значение элемента
- индекс элемента
- сам массив
Поддержка браузеров
find()
является свойством ES6 (JavaScript 2015).
С июня 2017 года все современные браузеры поддерживают ES6:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
май 2016 года | апрель 2017 года | июнь 2017 года | сентябрь 2016 года | июнь 2016 года |
Internet Explorer не поддерживает find()
.
JavaScript Array findIndex()
findIndex()
Метод возвращает индекс первого элемента массива, удовлетворяющего тестовой функции.
Пример
Найти индекс первого элемента, большего 18:
const numbers = [4, 9, 16, 25, 29]; let first = numbers.findIndex(myFunction); function myFunction(value, index, array) { return value > 18; }
Внимание:функция принимает 3 параметра:
- значение элемента
- индекс элемента
- сам массив
Поддержка браузеров
findIndex()
является свойством ES6 (JavaScript 2015).
С июня 2017 года все современные браузеры поддерживают ES6:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
май 2016 года | апрель 2017 года | июнь 2017 года | сентябрь 2016 года | июнь 2016 года |
Internet Explorer не поддерживает findIndex()
.
JavaScript Array findLast()
ES2023 добавил findLast()
Метод, который начинает поиск с конца массива и возвращает значение первого элемента, удовлетворяющего условиям.
Пример
const temp = [27, 28, 30, 40, 42, 35, 30]; let high = temp.findLast(x => x > 40);
Поддержка браузеров
findLast()
Это функция ES2023.
С июля 2023 года все современные браузеры поддерживают:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 110 | Edge 110 | Firefox 115 | Safari 16.4 | Opera 96 |
Февраль 2023 года | Февраль 2023 года | Июль 2023 года | Март 2023 года | Май 2023 года |
Метод findLastIndex() массива JavaScript
findLastIndex()
Метод находит индекс последнего элемента, удовлетворяющего условию.
Пример
const temp = [27, 28, 30, 40, 42, 35, 30]; let pos = temp.findLastIndex(x => x > 40);
Поддержка браузеров
findLastIndex()
Это функция ES2023.
С июля 2023 года все современные браузеры поддерживают:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 110 | Edge 110 | Firefox 115 | Safari 16.4 | Opera 96 |
Февраль 2023 года | Февраль 2023 года | Июль 2023 года | Март 2023 года | Май 2023 года |
Полное руководство по массиву
Для полной справки по массиву посетите:Руководство по массиву JavaScript.
Этот справочник содержит описание и примеры всех свойств и методов массива.
- Предыдущая страница Методы массива JS
- Следующая страница Сортировка массива JS