객체는 배열이나 문자열과 다릅니다. 따라서 "===" 를 사용하여 간단히 비교합니다. 또는 "==" 불가능합니다. 여기에서 비교하려면 먼저 문자열화해야 합니다. 개체를 선택한 다음 등호 연산자 사용 개체를 비교할 수 있습니다.
다음 예에서 객체는 stringified() 처음에는 나중에 서로 비교합니다.
예시
<html> <body> <script> const obj1 = {Name: "Rahim", City: 'Hyderabad',Country: "India" }; const obj2 = {Name: "Rahim", City: 'Hyderabad',Country: "India" }; document.write(JSON.stringify(obj1) === JSON.stringify(obj2)); </script> </body> </html>
출력
true
다음 예를 보면 같은 속성이 반복되어도 순서가 다릅니다. 이 경우 개체 비교는 거짓이 됩니다. 출력에 표시된 대로.
예시
<html> <body> <script> const obj1 = {Name: "Rahim", City: 'Hyderabad', Country: "India" }; const obj2 = {Name: "Rahim", Country: "India", City: 'Hyderabad', }; document.write(JSON.stringify(obj1) === JSON.stringify(obj2)); </script> </body> </html>
출력
false
따라서 이 단점을 극복하기 위해 'lodash '를 소개합니다. 키/값 쌍이 같거나 같지는 않지만 그들의 순서는 아닙니다.
예시
다음 예제에서 lodash의 "_isEqual()" 속성은 자바스크립트 객체를 비교하는 데 사용됩니다.
<html> <head> <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script> </head> <body> <script> const obj1 = {Name: "Rahim", City: 'Hyderabad', Country: "India" }; const obj2 = {Name: "Rahim", Country: "India", City: 'Hyderabad', }; document.write(JSON.stringify(obj1) === JSON.stringify(obj2)); document.write("</br>"); document.write(_.isEqual(obj1, obj2)); </script> </body> </html>
출력
false