이 기사에서는 두 객체가 동일인지 비교하기위한 JavaScript 방법을 설명합니다. 참조를 위해 공유하십시오. 세부 사항은 다음과 같습니다.
Python에서는 CMP () 내장 기능을 사용하여 두 객체에 포함 된 데이터가 동일인지 비교할 수 있습니다 (배열, 시퀀스, 사전). 그러나 JavaScript 언어에는 관련 구현이 없습니다. 이 JS 코드는 JS 객체의 다양한 측면을 비교하여 두 객체가 동일했는지 여부를 판단합니다.
cmp = function (x, y) {// x와 y가 모두 null 또는 정의되지 않은 경우 (x === y) {return true; } // 엄격하게 같지 않은 경우 둘 다 객체가되어야합니다 (! } // 그들은 동일한 프로토 타입 체인을 가져야합니다. 우리가 할 수있는 가장 가까운 것은 // 생성자를 테스트하는 것입니다. if (x.constructor! == y.constructor) {return false; } for (var p in x) {// 상속 된 특성은 x.constructor === y.constructor if (x.hasownproperty (p)) {// x [p] 및 y [p]를 비교할 때 (! y.hasownproperty (p)) {return false; } // 동일한 엄격한 값이나 신원이 있으면 (x [p] === y [p]) {계속; 계속; } // 숫자, 문자열, 함수, 부울은 (typeof (x [p])! == "object") {return false; } // 객체와 배열은 (! object.equals (x [p], y [p]) {return false; }}} for (p in y) {// x [p]가 (y.hasownproperty (p) &&! x.hasownproperty (p)) {return false; }} true를 반환합니다. };사용:
obja = {a : '123', b : '456'}; objb = {a : '123', b : '000'}; var isequal = cmp (obja, objb); Console.log (Isequal); // 거짓 다른이 기사가 모든 사람의 JavaScript 프로그래밍에 도움이되기를 바랍니다.