Artikel ini menjelaskan metode JavaScript untuk membandingkan apakah dua objek sama. Bagikan untuk referensi Anda. Dengan rincian sebagai berikut:
Dalam Python, Anda dapat menggunakan fungsi bawaan CMP () untuk membandingkan apakah data yang terkandung dalam dua objek sama (array, urutan, kamus). Namun, tidak ada implementasi yang relevan dalam bahasa JavaScript. Kode JS ini menilai apakah kedua objek tersebut sama dengan membandingkan berbagai aspek objek JS.
cmp = function (x, y) {// Jika kedua x dan y nol atau tidak terdefinisi dan persis sama if (x === Y) {return true; } // Jika mereka tidak sepenuhnya sama, mereka berdua harus menjadi objek jika (! (X instance dari objek) ||! (Y objek instance)) {return false; } // Mereka harus memiliki rantai prototipe yang sama persis, yang paling dekat yang dapat kita lakukan adalah // menguji konstruktor. if (x.constructor! == y.constructor) {return false; } untuk (var p dalam x) {// Properti yang diwariskan diuji menggunakan x.constructor === y.constructor if (x.hasownproperty (p)) {// memungkinkan membandingkan x [p] dan y [p] ketika diatur ke tidak terdefinisi if (! y.hasOwnProperty (p)) {return foer; } // Jika mereka memiliki nilai atau identitas ketat yang sama maka mereka sama jika (x [p] === y [p]) {lanjutkan; } // Angka, string, fungsi, boolean harus sangat sama jika (typeof (x [p])! == "objek") {return false; } // Objek dan array harus diuji secara rekursif jika (! Object.equals (x [p], y [p])) {return false; }}} untuk (p dalam y) {// memungkinkan x [p] diatur ke if (y.hasownproperty (p) &&! x.hasownproperty (p)) {return false; }} return true; };menggunakan:
obja = {a: '123', b: '456'}; objb = {a: '123', b: '000'}; var isequal = cmp (obja, objb); console.log (isequal); // false berbedaSaya harap artikel ini akan membantu pemrograman JavaScript semua orang.