Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80742 views
1
var createFindIndex = require('../internal/createFindIndex');
2
3
/**
4
* This method is like `_.find` except that it returns the index of the first
5
* element `predicate` returns truthy for instead of the element itself.
6
*
7
* If a property name is provided for `predicate` the created `_.property`
8
* style callback returns the property value of the given element.
9
*
10
* If a value is also provided for `thisArg` the created `_.matchesProperty`
11
* style callback returns `true` for elements that have a matching property
12
* value, else `false`.
13
*
14
* If an object is provided for `predicate` the created `_.matches` style
15
* callback returns `true` for elements that have the properties of the given
16
* object, else `false`.
17
*
18
* @static
19
* @memberOf _
20
* @category Array
21
* @param {Array} array The array to search.
22
* @param {Function|Object|string} [predicate=_.identity] The function invoked
23
* per iteration.
24
* @param {*} [thisArg] The `this` binding of `predicate`.
25
* @returns {number} Returns the index of the found element, else `-1`.
26
* @example
27
*
28
* var users = [
29
* { 'user': 'barney', 'active': false },
30
* { 'user': 'fred', 'active': false },
31
* { 'user': 'pebbles', 'active': true }
32
* ];
33
*
34
* _.findIndex(users, function(chr) {
35
* return chr.user == 'barney';
36
* });
37
* // => 0
38
*
39
* // using the `_.matches` callback shorthand
40
* _.findIndex(users, { 'user': 'fred', 'active': false });
41
* // => 1
42
*
43
* // using the `_.matchesProperty` callback shorthand
44
* _.findIndex(users, 'active', false);
45
* // => 0
46
*
47
* // using the `_.property` callback shorthand
48
* _.findIndex(users, 'active');
49
* // => 2
50
*/
51
var findIndex = createFindIndex();
52
53
module.exports = findIndex;
54
55