Entendendo a diferença entre os métodos Includes e Some
Para entender a diferença entre os métodos includes e some em JavaScript, iremos iniciar pelo método “includes”, utilizado para verificar se um elemento específico está presente em um array, enquanto o método “some” é usado para verificar se pelo menos um elemento de um array satisfaz uma determinada condição.
Os prós do método “includes” são sua simplicidade e facilidade de uso. Ele retorna um valor booleano (true/false), o que torna fácil a sua utilização em estruturas de controle de fluxo.
Já o método “some” é mais versátil, pois permite que você defina uma função de callback para verificar a condição de cada elemento do array. Isso significa que você pode escrever uma função personalizada para testar se cada elemento atende aos seus critérios.
Os contras do método “includes” incluem a verificação apenas sob a presença de um valor específico, além de não poder lidar com condições mais complexas. Por outro lado, o método “some” pode ser um pouco mais difícil de entender e usar, pois requer o conhecimento de como trabalhar com funções de callback.
Quando um comparativo for um item de Objeto, qual a melhor abordagem utilizar
Se o comparativo envolver um objeto, o método “some” seria mais adequado, pois permite que você defina uma função de callback para verificar a condição de cada elemento do array, incluindo objetos.
Por exemplo, imagine que você tem um array de objetos representando alunos de uma classe, onde cada objeto contém informações sobre o nome do aluno, a idade e a nota final. Você quer verificar se há algum aluno com nota final superior a 8.0. Com o método “some”, você pode escrever uma função de callback para fazer essa verificação:
const alunos = [ { nome: 'João', idade: 20, nota: 7.5 }, { nome: 'Maria', idade: 22, nota: 9.0 }, { nome: 'Pedro', idade: 21, nota: 8.3 } ]; const algumAlunoComNotaMaiorQue8 = alunos.some((aluno) => { return aluno.nota > 8.0; }); console.log(algumAlunoComNotaMaiorQue8); // true
Nesse exemplo, a função de callback verifica se a nota do aluno é maior que 8.0 e retorna true se essa condição for atendida para pelo menos um objeto do array “alunos”. O método “some” retorna true, pois há pelo menos um aluno com nota maior que 8.0.
E como fica utilizando o método Includes?
Com o método “includes”, não seria possível verificar se um objeto com uma propriedade específica existe em um array. O método “includes” só verifica se for um valor simples (por exemplo, uma string ou um número) está presente em um array. Para verificar se um objeto com uma propriedade específica existe em um array, é necessário percorrer o array e verificar manualmente cada objeto.