Como comparar objetos em JavaScript

Como comparar objetos em JavaScript
No JavaScript, um objeto é um tipo de dados não primitivo ou entidade que armazena inúmeras coleções de dados com propriedades. Comparar números ou textos é bastante simples em JavaScript, mas é mais difícil comparar dois objetos. Como o JavaScript pode comparar facilmente duas seqüências, portanto, converteremos os objetos em strings e depois executaremos operações de comparação.

Este tutorial demonstrará os métodos para comparar objetos em JavaScript.

Como comparar objetos em JavaScript?

Para comparar objetos em JavaScript, utilize o “JSON.stringify ()”Método. Usando o JSON.Método Stringify (), o valor/objeto é convertido em uma string json. Para determinar se os dois objetos são realmente equivalentes, compare as duas saídas após o uso do JSON.stringify () para converter os dois objetos em strings.

Sintaxe
Siga a sintaxe mencionada abaixo para comparar objetos usando JSON.Método Stringify ():

JSON.stringify (valor)

O json.O método stringify () leva apenas um parâmetro, que é “valor”, Que é o objeto JavaScript a ser convertido em uma string json.

Exemplo 1: Compare objetos com as mesmas propriedades
Primeiro, crie dois objetos chamados "Info" e "Informação”Com as mesmas propriedades“nome" e "idade”:

var info =
Nome: "Stephen",
Idade: 25

Var Information =
Nome: "Stephen",
Idade: 25

Em seguida, compare esses dois objetos usando JSON.Método Stringify () com um operador estrito de igualdade. O json.O método stringify () converte objetos em strings e, em seguida, compara as seqüências resultantes usando o operador estrito de igualdade que será comparado tanto no seu tipo quanto no valor:

console.Log (JSON.stringify (info) === JSON.stringify (informações));

A saída mostra “verdadeiro”Isso indicará que ambos os objetos são iguais:

Exemplo 2: Compare objetos com as mesmas propriedades, mas lugares diferentes
Neste exemplo, primeiro, adicione uma propriedade “contato"No objeto" Informações ":

Var Information =
Nome: "Stephen",
Contato: "2345667",
Idade: 25

Então, compare os objetos “informações" e "Informação”Usando o operador de igualdade estrito:

console.Log (JSON.stringify (info) === JSON.stringify (informações));

A saída exibe “falso”Porque a colocação das propriedades do objeto não é a mesma:

Aqui, surge a pergunta, por que não usamos um operador de igualdade para comparar objetos em vez de json.Método Stringify ()? Siga a seção abaixo.

Por que os objetos não são comparados usando o operador de igualdade?

JavaScript oferece dois métodos para comparação, um é comparado pelos valores e o outro é por referência. Os tipos primitivos (string, números) são comparados pelos valores.

Como sabemos, o operador de igualdade solta “==”Compara os tipos de dados por valores, enquanto o estrito operador de igualdade“===”Compara os tipos de dados primitivos pelo tipo e pelo valor. Objetos usando operadores de comparação “==" e "===”Não pode ser comparado porque o JavaScript compara objetos com base em seus endereços, também conhecidos como comparação por referência.

Vamos verificar se os objetos não são comparados com os operadores de igualdade (== e ===).

Exemplo 1: Usando o operador de igualdade solta (==)
Aqui, vamos comparar os dois objetos “informações" e "Informação”Que é criado no exemplo anterior, usando o operador de igualdade frouxo (==):

console.log (info == Information)

A saída exibe “falso”Porque os objetos são comparados por referência:

Exemplo 2: Usando o Operador de Igualdade Estrito (===)
Agora, compararemos os dois objetos usando o operador estrito de igualdade:

console.log (info === Informações)

Saída

Como você pode ver que os operadores de igualdade não comparam os objetos, o javascript permite comparar objetos convertendo -os em strings usando o “JSON.stringify ()”Método.

Fornecemos a solução mais simples para comparar objetos em JavaScript.

Conclusão

Para comparar objetos em JavaScript, você pode utilizar o “JSON.stringify ()”Método que primeiro converterá um valor/objeto JavaScript em uma string json e, em seguida. Como você sabe, o JavaScript pode comparar facilmente duas cordas, mas é difícil comparar dois objetos. Para determinar se os dois objetos são realmente equivalentes, compare as duas saídas após o uso do JSON.stringify () para converter os dois objetos em strings. Neste manual, demonstramos os métodos para comparar objetos em JavaScript.