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 ():
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”:
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 ":
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 (==):
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:
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.