Home >Web Front-end >JS Tutorial >What\'s the Most Efficient Way to Check if an Item Exists in a JavaScript Array?
Best Way to Find an Item in a JavaScript Array
Determining whether an object exists within an array is a common task in JavaScript. Here are the most efficient ways to achieve this:
1. Array.includes() Method (ES2016)
If you're using a modern browser that supports ECMAScript 2016, the native Array.includes() method is the preferred solution. It takes the item to search for as an argument and returns a boolean indicating its presence.
arr.includes(obj);
2. Array.indexOf() Method
The Array.indexOf() method returns the first index of the searched item if it exists, or -1 if it's not found. To check for existence, you can compare the return value to -1:
function include(arr, obj) { return (arr.indexOf(obj) != -1); }
3. Custom Implementations for Older Browsers
If you need to support older browsers that don't have Array.includes() or Array.indexOf(), you can define your own implementation:
Mozilla's ECMAScript 262 Implementation:
if (!Array.prototype.indexOf) { // Add the indexOf method to Array.prototype }
Daniel James's Implementation:
if (!Array.prototype.indexOf) { // Add the indexOf method to Array.prototype // with handling for a negative fromIndex }
roosteronacid's Array.hasObject() Implementation:
Array.prototype.hasObject = function (o) { // Add the hasObject method to Array.prototype // which returns true if o is found, false if not };
The above is the detailed content of What\'s the Most Efficient Way to Check if an Item Exists in a JavaScript Array?. For more information, please follow other related articles on the PHP Chinese website!