back to Overview

.find()

Finds a specific value in the list.
Available in all modules.

Syntax Variants

list.find(findFunc)
list.find(element)
list.find(findFunc, startIndex)
list.find(element, startIndex)
_.find(list, findFunc)
_.find(list, element)
_.find(list, findFunc, startIndex)
_.find(list, element, startIndex)

Parameters

list
A list to use as input. Can be an array, a Minified list or any other array-like structure with length property.
findFunc
The callback function(item, index) that will be invoked for every list item until it returns a non-null value:
item
The current list element.
index
The second the zero-based index of the current element.
this
This list.
(callback return value)
If the callback returns something other than null or undefined, find() will return it directly. Otherwise it will continue.
element
the element to search for
startIndex (optional)
the 0-based index of the first element to search.
(return value)
if called with an element, either the element's index in the list or undefined if not found. If called with a callback function, it returns either the value returned by the callback or undefined.

Description

Finds a specific value in the list. There are two ways of calling find():

  1. With a value as argument. Then find() will search for the first occurrence of an identical value in the list, using the '===' operator for comparisons, and return the index. If it is not found, find() returns undefined.
  2. With a callback function. find() will then call the given function for each list element until the function returns a value that is not null or undefined. This value will be returned.

find() can also be used as an alternative to each() if you need to abort the loop.

Example

Finds the first negative number in the list:

var i = _(1, 2, -4, 5, 2, -1).find(function(value, index) { if (value < 0) return index; }); // returns 2

Example

Finds the index of the first 5 in the array:

var i = _.find([3, 6, 7, 6, 5, 4, 5], 5); // returns 4 (index of first 5)

Example

Determines the position of the element with the id '#wanted' among all li elements:

var elementIndex = $('li').find($$('#wanted'));

Example

Goes through the elements to find the first div that has the class 'myClass', and returns this element:

var myClassElement = $('div').find(function(e) { if ($(e).is('.myClass')) return e; });

See also..

  • findLast() is the equivalent to find() for the list's end.

Comments

comments powered by Disqus

back to Overview

Functions