Resumo : este tutorial apresenta o includes()
método JavaScript Array que verifica se um elemento está em um array.
Introdução ao includes()
método JavaScript Array
Ao trabalhar com um array , muitas vezes você deseja verificar se o array contém um elemento. Para fazer isso, você usa o método indexOf() da seguinte forma:
let numbers = [1,2,3];
if(numbers.indexOf(2) !== -1){
// process here
}
Linguagem de código: JavaScript ( javascript )
O indexOf()
método retorna o índice da primeira ocorrência do elemento no array. Se a matriz não incluir o elemento, o indexOf()
retorno será -1
.
Como você pode ver, o indexOf()
método não indica claramente o que significa. Além disso, indexOf()
utiliza o operador de igualdade estrita ( ===
) para comparação, portanto, não funciona NaN
conforme mostrado no exemplo a seguir:
[NaN].indexOf(NaN); // -1
Linguagem de código: JavaScript ( javascript )
Neste exemplo, a matriz contém um elemento de NaN. No entanto, os indexOf(NaN)
retornos -1
.
Para contornar isso, os desenvolvedores criaram uma função auxiliar, por exemplo, Lodash
que fornece o _.incudes()
método que verifica se um valor está no array.
ECMAScript 2016 padronizou essa funcionalidade fornecendo o Array.prototype.includes()
método.
O includes()
método retorna true
se um array contém um determinado elemento; Caso contrário, ele retorna false
.
O seguinte ilustra a sintaxe do includes()
método:
array.includes(element,fromIndex);
Linguagem de código: CSS ( css )
O includes()
aceita dois argumentos:
- O primeiro argumento é o
element
que pode ser pesquisado. - A
fromIndex
é a posição na matriz na qual a pesquisa começa.
Veja o exemplo a seguir:
[1,2,3].includes(2); // true
[1,2,3].includes(4); // false
[1,2,3].includes(1,1); // false
Linguagem de código: JavaScript ( javascript )
Ao contrário do indexOf()
método, o includes()
método funciona perfeitamente bem com NaN
:
[NaN].includes(NaN); // true
Linguagem de código: JavaScript ( javascript )
Observe que o includes()
não faz distinção entre +0
e -0
conforme mostrado no exemplo a seguir:
[-0].includes(+0); // true
Linguagem de código: JavaScript ( javascript )
O exemplo a seguir demonstra como usar o includes()
método para verificar se um objeto está em uma matriz.
let bmw = {name: 'BMW' },
toyota = { name: 'Toyota'},
ford = {name: 'Ford'}
let cars = [ford, toyota];
console.log(cars.includes(ford)); // true
console.log(cars.includes(bmw)); // false
Linguagem de código: JavaScript ( javascript )
Neste exemplo:
- Primeiro, inicializamos o
cars
array com dois objetos:ford
etoyota
. - Em seguida, utilizamos o
includes()
método para verificar se ocars
array contém oford
objeto, neste caso ele retorna verdadeiro. - Por fim, o
bmw
objeto não está nocars
array, portanto, oincludes()
método retornatrue
conforme o esperado.
Neste tutorial, você aprendeu como usar o includes()
método JavaScript Array para verificar se um elemento está em um array.