jquery поиск в массиве

Очень часто нужно искать определённый элемент в массиве. Поиск элемента в массиве javascript осуществляет функция inArray()

Функция возвращает позицию элемента в массиве. В случае отсутствия элемента в массиве функция вернёт -1. Обратите внимание что функция не возвращает false или true.

Когда применяют функцию inArray()? Оычно наполняют массив IDшниками и потом этот массив передаётся в ajax-запрос. Бывает так, что нужно сделать массив с запрещенными данными и сравнивать новую информацию с этим массивом. О массивах читайте в статье массивы в javascript

Поиск в массиве или строке на JavaScript и jQuery

Поиск в строке или массиве. При поиске в массиве – возвращает индекс. При поиске в строке – возвращает позицию первого вхождения.

Возвращает -1 если ничего не найдено.

Строгое сравнение. Возвращает индекс элемента. Возвращает -1 если ничего не найдено.

В статье рассказывается о том, как использовать методы JavaScript indexOf и lastIndexOf для определения расположения элемента внутри массива.

Содержание

  1. Знакомство с методом indexOf
  2. Примеры применения метода indexOf()
  3. Знакомство с методом lastIndexOf()
  4. Примеры использования метода lastIndexOf()

Знакомство с методом indexOf

Чтобы определить расположение элемента в массиве, можно воспользоваться методом indexOf() . Он возвращает индекс первого вхождения элемента, либо -1 , если он не найден.

Ниже приведен синтаксис метода indexOf() :

Метод indexOf() принимает два аргумента. searchElement -это элемент, который нужно найти в массиве. fromIndex – это индекс массива, с которого нужно начать поиск.

Аргумент fromIndex в качестве значения может принимать как положительное, так и отрицательное целое число. Если значение аргумента fromIndex будет отрицательным, метод indexOf() начнет поиск по всему массиву плюс значение fromIndex . Если опустить аргумент fromIndex , то метод начнет поиск с элемента 0 .

Учтите, что метод JavaScript array indexOf() при сравнении searchElement с элементами в массиве, использует алгоритм строгого равенства , схожий с оператором “ тройное равно ” (===) .

Примеры применения метода indexOf()

Предположим, что есть массив scores , в котором содержится шесть чисел:

В следующем примере метод indexOf() используется для поиска элементов в массиве scores :

В примере используется fromIndex с отрицательными значениями:

Предположим, что есть массив объектов. У каждого из них два свойства: name и age :

Следующие выражение возвращает -1 , даже если у первого элемента массива guests и searchElement будут одинаковые значения свойств name и age . Так как это два разных объекта:

Иногда нужно находить индексы всех упоминаний элемента в массиве. В приведенном ниже примере для этого в функции find() используется метод массива JavaScript indexOf() :

В следующем примере функция find() используется для возврата массива с позициями числа 10 в массиве scores :

Знакомство с методом lastIndexOf()

У массивов есть еще один метод — lastIndexOf() , который предлагает почти тот же функционал, что и indexOf() .

Синтаксис метода lastIndexOf() :

Метод возвращает индекс последнего вхождения searchElement в массиве. Если элемент не найден, будет возвращено значение -1 .

В отличие от метода JavaScript indexOf() , lastIndexOf() сканирует массив в обратном направлении, начиная от значения fromIndex .

Представленное ниже выражение возвращает последние индексы чисел 10 и 20 в массиве scores :

Примеры использования метода lastIndexOf()

Так как число 50 не находится в массиве, следующее выражение вернет -1 .

Мы научились использовать методы JavaScript indexOf() string и lastIndexOf() для поиска элементов в массиве.

Данная публикация представляет собой перевод статьи « JavaScript Array indexOf and lastIndexOf: Locating an Element in an Array » , подготовленной дружной командой проекта Интернет-технологии.ру

Источник: computermaker.info

Техника и Гаджеты
Добавить комментарий