Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

250
Visualizações
How to supply an equals/hash function to JS Array.includes()?

Is there a way to get Array.prototype.includes() to also work with non-primitive objects by supplying a equals+hash predicate?

For example given a list:

var list = [{id:111},{id:222},{id:333}];

console.log(list.includes({id:333});
// output: false

From the above example it looks like equality is done by object identity (i.e. memory address) and not by value which makes, of course, total sense and is expected. But is there a way to supply an equality function to list.includes() so that the primitive value of id is used to determine equality?

The Arrays.includes() documentation does not mention anything about accepting an equality predicate.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Array#includes takes two parameters:

searchElement: The value to search for.

fromIndex (Optional): The position in this array at which to begin searching for searchElement.

You can use Array#some instead:

const list = [{id:111},{id:222},{id:333}];

console.log( list.some(({id}) => id === 333) );

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda