The JavaScript Array includes() Method

The JavaScript arrays includes() method determines whether or not an array contains a specified element. This method returns true if the array contains the element, and false if the array does not contain the element.

The includes() Method Explained

The includes() method is defined as follows:

array.includes(element, start)
  • The element parameter is required, and is the element, or string, that will be searched.
  • The start parameter is optional, with a default value of 0. This is the position in the array where the search will begin.

A Few Examples

Here are some quick examples to help you fully understand the logic behind the includes() method:

var fruits = ["Apples", "Bananas", "Mangos", "Oranges"];

console.log(fruits.includes("Oranges"));
// true

Here, we're creating an array with four elements, each element containing a type of fruit. We're then outputting the result to the console. The output in this example is true because the string Oranges exists in the fruits array.

When searching for an element that does not exist in the array, the result will be false:

console.log(fruits.includes("Pears"));
// false

When the start Value Is Less Than Zero

If the start value is negative, the computed index is calculated by adding the array length to the specified start value. Here's an example:

var array = ["a", "b", "c"];

array.includes("a", -10); // true
array.includes("b", -10); // true
array.includes("c", -10); // true
array.includes("a", -2); // false

In this example, the array length is 3. And, for the first three includes() checks, the start value is -10:

3 + (-10) = -7

Meaning the actual start value is -7, which is smaller than the length of the array. Here, true is returned since the includes() method is able to search the entire array.

On the last line, the array length is still 3, but the start value is -2:

3 + (-2) = 1

Now we're starting at array position 1, where b is located, and searching through to the end of the array. Since a is at position 0 of the array, the element is not found and the method returns false.

Other Useful Tidbits

  • Comparison strings and characters completed by the includes() method are always case-sensitive. This means if the array contains the string Oranges but we're searching for text oranges, the result will be false because the case is different between both occurrences of the word oranges.
  • The includes() method uses the sameValueZero() operation to determine whether or not the given element is found within the array.
The sameValueZero() operation accepts two parameters, x and y, and compares those two values returning true if the values match, and false if the values do not match, similar to the includes() method.

Browser Support

The JavaScript array includes() method is supported by all modern browsers and versions. The only exceptions at the time of this writing are all versions of Internet Explorer and Opera, which are not supported.

You can view all supported browsers and versions by clicking the button below:

Browser Support

Conclusion

The JavaScript array includes() method provides a clean, ease to use solution for checking for specific elements within arrays.