Every e some: os métodos de array em Javascript que respondem "sim" ou "não"
A forma mais resumida de explicar o every e some em Javascript é:
Tudo ou pelo menos um
O método every ("todo" ou "toda" em inglês) responde se todos os itens de uma array atendem aos requisitos.
Já o some ("algum" ou "alguma") diz se pelo menos algum item atende aos requisitos.
Na imagem abaixo, o every retorna false
, já que nem todos os números estão acima de zero:
E o código fica assim:
const numbers = [ 3, 7, -1, 7, 10 ];
const result = numbers.every(function(number) {
if (number > 0) {
return true;
} else {
return false;
}
});
console.log(result); // false
Abaixo acontece a mesma coisa com o some. Ele retorna true
, porque pelo menos um item está acima de zero:
Esse é o código desse exemplo:
const numbers = [ 3, 7, -1, 7, 10 ];
const result = numbers.some(function(number) {
if (number > 0) {
return true;
} else {
return false;
}
});
console.log(result); // true
Postei um artigo completo sobre isso no meu blog com os seguintes tópicos:
- A estrutura dos métodos every e some em Javascript
- Porque esses métodos podem não executar em todos os itens da array e parar antes
- A importância do retorno da função callback
- Os 3 parâmetros da função callback
- Item
- Index
- Array
- Como saber que é o momento de usar essa funções
Vou deixar o link do post completo aqui nas fontes.
Deixa um comentário aí dizendo o que achou ;)