Lodash _.find() Method

Lodash _.find() method accesses each value of the collection and returns the first element that passes a truth test for the predicate or undefined if no value passes the test. The function returns as soon as it finds the match. So, it actually searches for elements according to the predicate.

Syntax:  

_.find(collection, predicate, [fromIndex=0])

Parameters:

  • collection: This parameter holds the array or object collection that needs to be inspected.
  • predicate: This parameter holds the function invoked in each iteration.
  • fromIndex: This parameter holds the index from which you want to start searching (optional). By default it’s 0. 

Return Value:

It returns the matched element or undefined if nothing matches.

Example: In this example, we are passing the array and a function in the _.find() method which returns the matched first value.

javascript
const _ = require('lodash');
let x = [2, 5, 7, 10, 13, 15];

let result = _.find(x, function (n) {
    if (n * n < 100) {
        return true;
    }
});

console.log(result);

Output:

2

Example 2: In this example, we will search for the first student (object) in the list who has more scores than 90.  

javascript
const _ = require('lodash');

let x = [
    { 'name': 'Akhil', marks: '78' },
    { 'name': 'Akhil', marks: '98' },
    { 'name': 'Akhil', marks: '97' }
];

let result = _.find(x, function (obj) {
    if (obj.marks > 90) {
        return true;
    }
});

console.log(result);

Output:  

{name: 'Akhil', marks: '98' }

Example 3: In this example, we are getting ‘undefined’ as there is no matched value present in the array according to the function.

javascript
const _ = require('lodash');

let x = [1, 2, 7, 10, 13, 15];

let result = _.find(x, function (n) {
    if (n < 0) {
        return true;
    }
});

console.log(result);

Output: 

undefined