Правильное использование метода jQuery.inArray(): основы и тонкости
Быстрый ответ
Для определения расположения элемента в массиве, применяется метод jQuery.inArray()
:
// Где находится '3' в данном массиве? Давайте проверим!
var position = jQuery.inArray(3, [1, 2, 3, 4, 5]); // Вернёт: 2
Синтаксис jQuery.inArray(element, array)
подобен синтаксису array.indexOf(element)
в чистом JavaScript. Метод возвращает индекс элемента в массиве или -1
, если такого элемента в массиве нет.
Ключевые аспекты: Разбор метода jQuery.inArray()
Интерпретация возвращаемого значения: обнаружен ли элемент?
Запомните, jQuery.inArray()
возвращает целочисленное значение, соответствующее позиции элемента в массиве:
if (jQuery.inArray(element, array) !== -1) {
console.log('Элемент присутствует в массиве!');
} else {
console.log('Элемента нет в массиве.');
}
В данном случае метод вернет -1
, если element
не найден в array
. Это позволяет дифференцировать это значение от 0
— индекса, который в логическом контексте может быть использован как false
.
Выбор инструмента: современные альтернативы в JavaScript
Отказывайтесь от inArray
от jQuery в пользу методов indexOf()
и includes()
работы с массивами:
// Поиск 'element' в 'array'
if (array.includes(element)) {
console.log('Элемент обнаружен. Прекращаем поиск!');
} else {
console.log('Элемент не обнаружен. Продолжаем поиск.');
}
Они предлагают более удобные и лаконичные способы работы с массивами. Однако стоит учитывать, что они не изпользуются в IE8, поэтому в этом случае jQuery.inArray()
по-прежнему может быть полезен.
Визуализация
Внутренний принцип работы jQuery.inArray()
можно представить, как поиск персонажа Валдо(Уолдо) в толпе:
Толпа (Массив): [🧑🦰, 🧑🦱, 🕵️♂️, 🧑🦱, 🕵️♂️]
Где Валдо (🧑🦰)?
let index = $.inArray(🧑🦰, [🧑🦰, 🧑🦱, 🕵️♂️, 🧑🦱, 🕵️♂️]);
Валдо обнаружен:
Обнаруженный индекс: 0 // Вот Валдо! 🧑🦰
Если Валдо не найден, jQuery.inArray()
вернёт:
Результат поиска: -1 // Валдо все еще в тайне 😢
Применяйте jQuery.inArray()
, чтобы находить скрытые элементы. 🎉💯
Полезные материалы
- jQuery.inArray() | jQuery API Documentation — официальная документация по
inArray
. - Array.prototype.indexOf() – JavaScript | MDN — учебное пособие MDN по методу
indexOf
в JS. - ECMAScript 2015 Language Specification – ECMA-262 6th Edition — документация по методу
includes
. - Arrays — подробное изучение массивов в JS и их утилит.
- Iterating over jQuery and non-jQuery Objects | jQuery Learning Center — изучение работы с `inArray’’ при итерации по объектам jQuery.