Buscar dentro de um array
includes: está ou não está?
Retorna true ou false:
const animais = ["cachorro", "gato", "papagaio"];
console.log(animais.includes("gato")); // true
console.log(animais.includes("peixe")); // false
indexOf: em qual posição?
Retorna o índice da primeira correspondência, ou -1 se não existir:
console.log(animais.indexOf("papagaio")); // 2
console.log(animais.indexOf("peixe")); // -1
Um padrão muito comum para verificar a existência é:
if (animais.indexOf("gato") !== -1) {
console.log("Está aí!");
}
Embora hoje em dia includes seja mais legível para essa pergunta específica.
Exemplos
Verificar pertencimento
const convidados = ["Ana", "Luis", "Sara"];
console.log(convidados.includes("Luis")); // true
console.log(convidados.indexOf("Sara")); // 2
console.log(convidados.indexOf("Pepe")); // -1