Checking if an array includes a value is something that we’ve to do often in a JavaScript app.
In this article, we’ll look at how to check if an array includes a given value in JavaScript.
Array.prototype.includes
The includes
method is a method that’s included with the array instance.
It takes a value and compares it with ===
to check if an element is included.
For instance, we can write:
console.log(['apple', 'orange', 'grape'].includes('orange'));
If it’s included, then it returns true
.
Otherwise, it returns false
.
Array.prototype.indexOf
We can also use the indexOf
method of an array instance to check if it includes a given element.
It also uses ===
for comparison.
And it returns the index of the first instance of an item if it exists.
Otherwise, it returns -1.
To use it, we write:
console.log(['apple', 'orange', 'grape'].indexOf('orange') >= 0);
Write Our Own
We can write our own function to search for a value.
For instance, we can write:
function contains(a, obj) {
let i = a.length;
while (i--) {
if (a[i] === obj) {
return true;
}
}
return false;
}
console.log(contains(['apple', 'orange', 'grape'] , 'orange'));
We create the contains
function that uses a while
loop to search for an item.
If a[i]
has the same value as obj
then we return true
.
If we loop through the whole a
array and didn’t find anything that matches, then we return false
.
Array.prototype.some
The some
method is another array instance method that comes with JavaScript arrays.
It lets us pass in a callback to check if any items match the given condition.
For instance, we can write:
const items = [{
a: '1'
}, {
a: '2'
}, {
a: '3'
}]
console.log(items.some(item => item.a === '3'))
We have an items
array that has a bunch of objects.
And we call items.some
with a callback to check if any items
entry with a
property equal to 3 exists.
some
returns true
if an item that matches the given condition exists and false
otherwise.
Conclusion
There’re many ways to find if an array item exists in JavaScript.