JavaScript: Métodos de Array - Parte 2: some, every e includes
Silvério Vale • 2 de fevereiro de 2024
Neste segundo post da série, vamos explorar o some
, o every
e o includes
, três métodos muito úteis mas não tão conhecidos.
A partir de agora, não perderei mais tempo fazendo comparações com o for
e o while
. Já deve ter ficado claro que, na maior parte das vezes, eles não são a alternativa mais elegante.
Mas, antes de pular para os métodos, vale a pena mencionar que esses três métodos foram agrupados no mesmo post pois todos eles servem para validar uma condição. Em outras palavras, eles vão te retornar um booleano (true
ou false
), indicando se o array atende ou não àquela condição.
Preparando o ambiente
Nos dois primeiros exemplos, o seguinte array de objetos será utilizado:
const animals = [
{
name: "Max",
type: "dog",
},
{
name: "Lucy",
type: "cat",
},
{
name: "Sparrow",
type: "bird",
},
];
some
O some
serve para validar se o array possui algum elemento que atenda a determinada condição. Ou seja, para que ele retorne true
, basta que um único elemento do array satisfaça a condição.
E qual é essa condição? Você deverá informá-la passando uma função por parâmetro ao some
.
Por exemplo, tomando nossa lista de animais, se você deseja saber se nela tem ao menos um cachorro, você poderia escrever:
const hasADog = animals.some((animal) => animal.type === "dog");
A resposta será true
, já que temos um cachorro em nossa lista.
every
O every
, por sua vez, só irá retornar true
se todos os elementos do array satisfizerem aquela condição.
Tomando o mesmo array de animais, suponha que você queira saber se todos eles são pássaros:
const allAnimalsAreBirds = animals.every((animal) => animal.type === "bird");
A resposta será false
, já que também temos um cão e um gato na lista.
includes
O includes verifica se um elemento está presente no array. Para o exemplo, vamos usar um array de strings.
const zooAnimals = ['lion', 'snake', 'giraffe', 'monkey', 'tiger'];
const zooHasTiger = zooAnimals.includes('tiger');
A resposta será true
, pois o array zooAnimals
contém um string de valor "tiger".
Conclusão
Se quiser saber se algum elemento do array atende a uma condição, use some
. Se quiser saber se todos atendem, use every
. Se desejar saber se o array possui um item, use includes
.
Eu sei que você consegue pensar em várias outras formas de obter as mesmas informações, mas serão elas tão elegantes e legíveis?