Ce tutoriel démontrera les méthodes pour comparer les objets en javascript.
Comment comparer les objets en javascript?
Pour comparer les objets en JavaScript, utilisez le «Json.stringify ()" méthode. Utilisation du JSON.Méthode stringify (), la valeur / objet est converti en une chaîne JSON. Pour déterminer si les deux objets sont en fait équivalents, comparez les deux sorties après avoir utilisé JSON.Stringify () pour convertir les deux objets en chaînes.
Syntaxe
Suivez la syntaxe mentionnée ci-dessous pour comparer des objets à l'aide de JSON.Méthode stringify ():
Le json.La méthode stringify () ne prend qu'un seul paramètre, qui est «valeur», Qui est l'objet JavaScript à convertir en une chaîne JSON.
Exemple 1: Comparez les objets avec les mêmes propriétés
Tout d'abord, créez deux objets nommés «Info» et «information"Avec les mêmes propriétés"nom" et "âge»:
Ensuite, comparez ces deux objets en utilisant JSON.Méthode stringify () avec un opérateur d'égalité strict. Le json.La méthode stringify () convertit les objets en chaînes, puis compare les chaînes résultantes à l'aide de l'opérateur d'égalité strict qui se comparera à la fois sur son type et la valeur:
console.journal (JSON.Stringify (info) === JSON.stringify (information));La sortie montre "vrai«Cela indiquera que les deux objets sont égaux:
Exemple 2: Comparez des objets avec les mêmes propriétés mais des endroits différents
Dans cet exemple, ajoutez d'abord une propriété "contact«Dans l'objet« Informations »:
Ensuite, comparez les objets "Info" et "information«Utilisation de l'opérateur d'égalité strict:
console.journal (JSON.Stringify (info) === JSON.stringify (information));La sortie s'affiche «FAUX«Parce que le placement des propriétés de l'objet n'est pas le même:
Ici, la question se pose, pourquoi n'utilisons-nous pas un opérateur d'égalité pour comparer des objets au lieu de JSON.méthode stringify ()? Suivez la section ci-dessous.
Pourquoi les objets ne sont-ils pas comparés à l'aide de l'opérateur d'égalité?
JavaScript propose deux méthodes de comparaison, l'une est comparée par les valeurs, et l'autre est par référence. Les types primitifs (chaîne, nombres) sont comparés par des valeurs.
Comme nous le savons, l'opérateur d'égalité lâche «=="Compare les types de données par valeurs, tandis que l'opérateur d'égalité strict"===»Compare les types de données primitifs par leur type et la valeur. Objets utilisant des opérateurs de comparaison "==" et "==="Ne peut pas être comparé parce que JavaScript compare des objets en fonction de leurs adresses, également connues sous le nom de comparaison par référence.
Voyons que les objets ne sont pas comparés aux opérateurs d'égalité (== et ===).
Exemple 1: Utilisation de l'opérateur d'égalité lâche (==)
Ici, nous comparerons les deux objets "Info" et "information«Qui est créé dans l'exemple précédent, en utilisant l'opérateur d'égalité lâche (==):
La sortie s'affiche «FAUX«Parce que les objets sont comparés par référence:
Exemple 2: Utilisation de l'opérateur d'égalité strict (===)
Maintenant, nous comparerons les deux objets en utilisant un opérateur d'égalité strict:
Sortir
Comme vous pouvez le voir que les opérateurs d'égalité ne comparent pas les objets, le JavaScript permet de comparer les objets en les convertissant en chaînes en utilisant le «Json.stringify ()" méthode.
Nous avons fourni la solution la plus simple pour comparer les objets en javascript.
Conclusion
Pour comparer les objets en JavaScript, vous pouvez utiliser le «Json.stringify ()”Méthode qui convertira d'abord une valeur / objet JavaScript en une chaîne JSON, puis vous pouvez comparer les chaînes retournées à l'aide de l'opérateur d'égalité strict. Comme vous le savez, JavaScript peut facilement comparer deux chaînes, mais il est difficile de comparer deux objets. Pour déterminer si les deux objets sont en fait équivalents, comparez les deux sorties après avoir utilisé JSON.Stringify () pour convertir les deux objets en chaînes. Dans ce manuel, nous avons démontré les méthodes de comparaison d'objets en JavaScript.