Aprenda a utilizar os métodos some e every em JavaScript

Aprenda a utilizar os métodos some e every para validar arrays no JavaScript de forma eficiente, com explicações claras e exemplos comentados.


Você já se perguntou como verificar rapidamente se um array possui algum item que atende a uma condição? Ou como garantir que todos os elementos de um array são válidos?

No JavaScript, temos duas ferramentas incríveis para isso: some e every. Neste guia completo, vamos aprender como utilizá-las de maneira simples, prática e com exemplos que você pode aplicar hoje mesmo!


Sumário


1. O que são some e every?

  • some: Verifica se pelo menos um elemento do array passa no teste (função de callback).
  • every: Verifica se todos os elementos do array passam no teste.
MétodoRetornoQuando retorna trueQuando retorna false
someBooleanSe algum elemento atender à condiçãoSe nenhum atender
everyBooleanSe todos os elementos atenderemSe algum não atender

2. Sintaxe

array.some(
  callback(element, index, array),
  thisArg
);
array.every(
  callback(element, index, array),
  thisArg
);
  • callback: Função que é chamada para cada item.
  • element: O elemento atual do array.
  • index (opcional): O índice atual.
  • array (opcional): O array original.
  • thisArg (opcional): Valor para usar como this dentro do callback.

3. Exemplos Práticos

3.1 Exemplo com some

const numeros = [1, 2, 3, 4, 5];

// Verificar se existe algum número maior que 3
const algumMaiorQueTres = numeros.some(
  (num) => num > 3
);

console.log(algumMaiorQueTres); // true

3.2 Exemplo com every

const numeros = [1, 2, 3, 4, 5];

// Verificar se todos os números são menores que 10
const todosMenoresQueDez = numeros.every(
  (num) => num < 10
);

console.log(todosMenoresQueDez); // true

4. Diferença Visual

ArrayCondiçãosomeevery
[1, 2, 3]> 2truefalse
[4, 5, 6]> 3truetrue
[1, 1, 1]> 2falsefalse

5. Exemplos Mais Avançados

5.1 Em Arrays de Objetos

const pessoas = [
  { nome: "Ana", idade: 18 },
  { nome: "Bruno", idade: 17 },
  { nome: "Carlos", idade: 21 },
];

// Alguma pessoa é maior de idade?
const algumMaiorDeIdade = pessoas.some(
  (p) => p.idade >= 18
);
console.log(algumMaiorDeIdade); // true

// Todos são maiores de idade?
const todosMaioresDeIdade = pessoas.every(
  (p) => p.idade >= 18
);
console.log(todosMaioresDeIdade); // false

5.2 Validando Formulário

const campos = ["Allan", "allan@email.com", ""];

// Verificar se existe algum campo vazio
const existeCampoVazio = campos.some(
  (campo) => campo.trim() === ""
);

console.log(existeCampoVazio); // true

6. Curiosidades

  • some para de iterar assim que encontra o primeiro true.
  • every para de iterar assim que encontra o primeiro false.
  • Ambos são não mutáveis: não alteram o array original.
  • São mais performáticos do que filter + .length > 0 ou loops tradicionais quando só se quer saber o estado.

Resumo Final

UsoMétodoExemplo
Se algum elemento satisfaz?somearray.some(e => e > 10)
Se todos os elementos satisfazem?everyarray.every(e => e > 0)