Зачем тратить время на написание длинных циклов for, если можно использовать методы экземпляра. Это сделает наш код короче и четко заявит о нашем намерении. Циклы For наверняка будут делать то же самое, но иногда это делает наш код неоднозначным для чтения и сложным в обслуживании.
Я разделил методы на группы, чтобы упростить понимание. Первая группа вернет один элемент, когда условие будет выполнено, а вторая группа вернет все экземпляры.
Вы можете найти образцы кодов по этой ссылке.
Возвращает первый экземпляр результата поиска в массиве.
найти
Этот метод возвращает значение первого элемента, соответствующего условию тестирования.
В этом примере мы будем искать книгу с заголовком ‘Understanding ECMAScript 6’ и извлекать все детали, включенные в этот объект.
Если условие выполнено, он вернет элемент, в противном случае возвращается undefined.
Давайте проверим этот первый пример ниже.
Есть другой способ написать это:
А вот еще более короткая версия:
findIndex
Этот метод по сути аналогичен методу find, однако на этот раз он возвращает индекс того, где был найден элемент.
И когда ничего не будет найдено, он вернет -1. Давайте посмотрим на другой пример ниже.
Здесь у нас есть массив городов, и мы ищем индекс «Кейв».
Теперь давайте попробуем передать название города, которого нет в массиве.
включает в себя
Этот метод проверяет, содержит ли массив искомый элемент, и возвращает истину или ложь. Это очень простой, но мощный метод.
Для этого мы можем просто разместить .includes после вызова массива, как таковой:
includes метод также принимает индекс в качестве второго параметра. Затем он проверит значение в массиве, начиная с предоставленного индекса, и вернет результат. Если второй параметр больше индекса того места, где расположен элемент, он вернет false.
Вернуть все экземпляры результата поиска в массиве, удовлетворяющем функции тестирования.
фильтр
Этот метод принимает массив и возвращает новый массив, который содержит только элементы, соответствующие условию.
Давайте посмотрим на пример ниже, чтобы понять это дальше.
В этом примере мы хотим получить все цветы из категории «Кусты».
Другой способ - определить функцию обратного вызова перед ее использованием.
Шпаргалка:
find: просматривает элементы в массиве, а затем возвращает первое значение, которое возвращает значение true.
filter отфильтрует элемент через функцию, вернет все значения, удовлетворяющие условию.
findIndex: будет искать элемент и возвращать его индекс, начиная с того места, где вы хотите его искать.
includes: возвращает true, если в массиве есть искомый элемент, в противном случае - false.
Заключение
Может быть несколько способов поиска среди элементов в массиве JavaScript, но мы всегда должны учитывать удобочитаемость кода, ремонтопригодность и производительность каждого метода. Эти экземпляры массивов представляют собой небольшие мощные методы, которые мы могли бы использовать для решения наших проблем.
Считаете ли вы этот блог полезным? Не забудьте оставить отзыв в разделе комментариев.