Comparando matrizes de objetos em JavaScript: um guia abrangente
Introdução:
Na codificação JavaScript, há muitas vezes surge a necessidade de comparar matrizes de objetos. No entanto, os objetos podem possuir propriedades variadas com valores ausentes, complicando o processo de comparação.
Abordagem de força bruta:
Um método direto é iterar em cada array e comparar os valores de as oito propriedades individualmente. No entanto, isso pode se tornar tedioso e ineficiente.
Uma solução elegante:
1. Comparação de propriedades de contagem:
Para superar esses desafios, você pode utilizar as seguintes etapas:
2. Métodos Object.keys() e Every():
Implementar esta técnica em JavaScript é simples usando as funções Object.keys() e every():
const objectsEqual = (o1, o2) =>
Object.keys(o1).length === Object.keys(o2).length
&& Object.keys(o1).every(p => o1[p] === o2[p]);
Exemplo de uso:
const obj1 = { name: 'John', age: 33};
const obj2 = { age: 33, name: 'John' };
const obj3 = { name: 'John', age: 45 };
console.log(objectsEqual(obj1, obj2)); // true
console.log(objectsEqual(obj1, obj3)); // false
Este método garante uma comparação confiável de matrizes de objetos, independentemente da contagem de propriedades ou valores ausentes.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3