Come confrontare gli oggetti in JavaScript

Come confrontare gli oggetti in JavaScript
In JavaScript, un oggetto è un tipo di dati o un'entità non prime che memorizza numerose raccolte di dati con proprietà. Confrontare numeri o testi è abbastanza semplice in JavaScript, ma è più difficile confrontare due oggetti. Poiché JavaScript può facilmente confrontare due stringhe, pertanto, convertiremo gli oggetti in stringhe e quindi eseguiremo operazioni di confronto.

Questo tutorial dimostrerà i metodi per confrontare gli oggetti in JavaScript.

Come confrontare gli oggetti in JavaScript?

Per confrontare gli oggetti in JavaScript, utilizzare il “JSON.Stringify ()" metodo. Usando il JSON.Metodo Stringify (), il valore/oggetto viene convertito in una stringa JSON. Per determinare se i due oggetti sono effettivamente equivalenti, confronta i due output dopo l'uso di JSON.Stringify () per convertire i due oggetti in stringhe.

Sintassi
Segui la sintassi di seguito per il confronto degli oggetti usando JSON.Metodo Stringify ():

JSON.Stringify (valore)

Il json.Il metodo Stringify () prende solo un parametro, che è "valore"Che è l'oggetto JavaScript da convertire in una stringa JSON.

Esempio 1: confronta gli oggetti con le stesse proprietà
Innanzitutto, crea due oggetti chiamati "Info" e "informazione"Con le stesse proprietà"nome" E "età":

var info =
Nome: "Stephen",
Età: 25

var Information =
Nome: "Stephen",
Età: 25

Quindi, confronta questi due oggetti usando JSON.Metodo Stringify () con un rigoroso operatore di uguaglianza. Il json.Il metodo Stringify () converte gli oggetti in stringhe e quindi confronta le stringhe risultanti usando il rigoroso operatore di uguaglianza che si confronterà sia sul suo tipo che sul valore:

console.Registro (JSON.Stringify (info) === JSON.stringify (informazioni));

L'output mostra "VERO"Ciò indicherà che entrambi gli oggetti sono uguali:

Esempio 2: confronta gli oggetti con le stesse proprietà ma luoghi diversi
In questo esempio, in primo luogo, aggiungi una proprietà "contatto"Nell'oggetto" Informazioni ":

var Information =
Nome: "Stephen",
Contatto: "2345667",
Età: 25

Quindi, confronta gli oggetti "informazioni" E "informazione"Utilizzo di un rigoroso operatore di uguaglianza:

console.Registro (JSON.Stringify (info) === JSON.stringify (informazioni));

L'output viene visualizzato "falso"Perché il posizionamento delle proprietà dell'oggetto non è lo stesso:

Qui sorge la domanda, perché non usiamo un operatore di uguaglianza per confrontare gli oggetti anziché JSON.Metodo Stringify ()? Segui la sezione seguente.

Perché gli oggetti non sono confrontati usando l'operatore di uguaglianza?

JavaScript offre due metodi per il confronto, uno viene confrontato per valori e l'altro è per riferimento. I tipi primitivi (stringa, numeri) vengono confrontati per valori.

Come sappiamo, l'operatore di uguaglianza sciolta "=="Confronta i tipi di dati per valori, mentre l'operatore di uguaglianza rigorosa"==="Confronta i tipi di dati primitivi sia per il loro tipo che per il valore. Oggetti che utilizzano operatori di confronto "==" E "==="Non può essere confrontato perché JavaScript confronta gli oggetti in base ai loro indirizzi, noti anche come confronto per riferimento.

Verifichiamo che gli oggetti non vengano confrontati con gli operatori di uguaglianza (== E ===).

Esempio 1: usando l'operatore di uguaglianza sciolta (==)
Qui confronteremo entrambi gli oggetti "informazioni" E "informazione"Questo viene creato nell'esempio precedente, usando l'operatore di uguaglianza sciolta (==):

console.log (info == Informazioni)

L'output viene visualizzato "falso"Perché gli oggetti vengono confrontati per riferimento:

Esempio 2: usando il rigoroso operatore di uguaglianza (===)
Ora confronteremo entrambi gli oggetti usando un operatore di uguaglianza rigorosa:

console.log (info === Informazioni)

Produzione

Come puoi vedere che gli operatori di uguaglianza non confrontano gli oggetti, quindi, il JavaScript consente di confrontare gli oggetti convertendoli in stringhe usando il "JSON.Stringify ()" metodo.

Abbiamo fornito la soluzione più semplice per confrontare gli oggetti in JavaScript.

Conclusione

Per confrontare gli oggetti in JavaScript, puoi utilizzare il "JSON.Stringify ()"Metodo che convertirà prima un valore/oggetto JavaScript in una stringa JSON, quindi puoi confrontare le stringhe restituite con l'aiuto del rigoroso operatore di uguaglianza. Come sai, JavaScript può facilmente confrontare due stringhe, ma è difficile confrontare due oggetti. Per determinare se i due oggetti sono effettivamente equivalenti, confronta i due output dopo l'uso di JSON.Stringify () per convertire i due oggetti in stringhe. In questo manuale, abbiamo dimostrato i metodi per confrontare gli oggetti in JavaScript.