JavaScript find method
last modified April 4, 2025
In this article we show how to search arrays using the find
method
in JavaScript.
Array searching
The find
method returns the first element in an array that satisfies
a provided testing function. If no values satisfy the testing function,
undefined
is returned.
This method is useful when you need to locate a specific element in an array
based on certain criteria. The find
method does not modify the
original array but returns the found element or undefined.
The find
method executes the callback function once for each index
until it finds one where the callback returns a truthy value. It stops searching
after finding the first matching element.
Basic find example
The following example demonstrates the basic usage of the find
method.
const numbers = [5, 12, 8, 130, 44]; const found = numbers.find(element => element > 10); console.log(found);
We search for the first element greater than 10. The find
method
returns 12, the first element that satisfies the condition. The original array
remains unchanged.
$ node main.js 12
Finding objects in an array
The find
method is particularly useful for searching arrays of
objects.
const inventory = [ {name: 'apples', quantity: 2}, {name: 'bananas', quantity: 0}, {name: 'cherries', quantity: 5} ]; const result = inventory.find(fruit => fruit.name === 'cherries'); console.log(result);
We search an array of objects for a specific fruit by name. The method returns
the entire object where the name matches 'cherries'. This demonstrates how
find
can work with complex data structures.
$ node main.js { name: 'cherries', quantity: 5 }
Using find with index parameter
The callback function can also access the current element's index.
const numbers = [1, 5, 10, 15, 20]; const found = numbers.find((element, index) => { console.log(`Checking index ${index}: ${element}`); return element > 13; }); console.log('Found:', found);
We use the index parameter to log each search attempt. The method stops at the
first element (15) that satisfies the condition. This shows how find
processes elements sequentially.
$ node main.js Checking index 0: 1 Checking index 1: 5 Checking index 2: 10 Checking index 3: 15 Found: 15
find with thisArg parameter
The find
method accepts an optional thisArg
parameter
to set the this
value in the callback.
function isPrime(element, index, array) { for (let i = 2; i < element; i++) { if (element % i === 0) return false; } return element > 1; } const numbers = [4, 6, 8, 9, 12, 13, 16]; const prime = numbers.find(isPrime); console.log(prime);
We define a separate function to check for prime numbers and use it with
find
. The method returns 13, the first prime number in the array.
This demonstrates using a named function instead of an arrow function.
$ node main.js 13
When no element is found
The find
method returns undefined
when no match is
found.
const numbers = [1, 3, 5, 7, 9]; const even = numbers.find(num => num % 2 === 0); console.log(even); console.log(typeof even);
We search for an even number in an array of odd numbers. Since no element
satisfies the condition, find
returns undefined
.
This behavior is important for error handling in your code.
$ node main.js undefined undefined
Source
Array find - language reference
In this article we have demonstrated how to use the find() method to search arrays in JavaScript.