Bagaimana cara membandingkan dua objek untuk menentukan objek pertama berisi nilai properti yang setara dengan objek kedua di JavaScript?
Meningkatkan Artikel
Simpan Artikel
Seperti Artikel
- Terakhir Diperbarui. 23 April 2021
Meningkatkan Artikel
Simpan Artikel
Diberikan dua objek obj1 dan obj2 dan tugasnya adalah memeriksa obj1 berisi semua nilai properti obj2 di JavaScript
Input: obj1: { name: "John", age: 23; degree: "CS" } obj2: {age: 23, degree: "CS"} Output: true Input: obj1: { name: "John", degree: "CS" } obj2: {name: "Max", age: 23, degree: "CS"} Output: falseUntuk mengatasi masalah ini, kami mengikuti pendekatan berikut
Pendekatan 1. Ini adalah pendekatan naif untuk memecahkan masalah ini. Dalam pendekatan ini, kami mengulang obj2 menggunakan for. dalam loop dan pada setiap iterasi, kami memeriksa kunci saat ini dari kedua objek tidak sama kami mengembalikan false jika tidak setelah menyelesaikan loop kami mengembalikan true
Contoh
Javascript
<script>
// Define the first object
let obj1 = {
true0true1true2
true4
true6true7
true_9
true2
true4
true4
true6true7
true_9
________21______4
<script>6 <script>7
0
2 3 4 5
_6
7 8
7 0
7 2
7 4 5
________23______6 7 8 9
7true9
true_9
7 // Define the first object6
true_9
________23______1
________23______3
_4
Keluaran
true_Pendekatan 2. Dalam pendekatan ini, kami membuat array dari semua kunci obj2 dengan menggunakan Object. kunci() metode dan kemudian menggunakan Array. setiap () metode kami memeriksa apakah semua properti obj2 sama dengan obj1 atau tidak
Objek dalam JavaScript adalah entitas, di mana ia terdiri dari properti dan tipe. Mari kita anggap olahraga sebagai objek, di Mobil propertinya bisa berupa warna, harga, tinggi, lebar, dll. Hal yang persis sama juga terjadi di JavaScript, yang memiliki objek dan berisi properti untuknya
Const car = { color : ‘Black’, price : 2500000, height : ‘6 feet’, width : ‘5 feet’ }Operator kesetaraan (===) memverifikasi apakah kedua operan sama atau tidak dan mengembalikan nilai Boolean. Jika kedua operan memiliki tipe yang berbeda, operator ini mengembalikan false jika tidak mengembalikan true
document.write(‘tutorix’ === ‘tutorix’); Output: true document.write(‘tutorialspoint’ === tutorialspoint); Output: falsePada artikel ini, kita akan membahas bagaimana membandingkan dua objek dalam JavaScript
Menggunakan JSON. Stringify() metode
Kita tidak bisa hanya mengimplementasikan operator “==” atau “===” untuk membandingkan dua objek. Cara yang lebih baik untuk melakukan perbandingan adalah dengan menggunakan JSON. Merangkai dan membandingkan objek
Contoh 1
Contoh berikut menunjukkan perbandingan dua objek dalam JavaScript menggunakan JSON. stringify() metode
Contoh 2
Perbandingan bersarang yang dalam
Dalam contoh ini, kami telah mengimplementasikan perbandingan objek menggunakan JSON. Stringify() dan operator “===”. Dan kami telah menambahkan lebih banyak jenis properti ke dalam objek. Dalam contoh di bawah ini kami melakukan perbandingan bersarang dalam
Contoh 3
Termasuk parameter yang berbeda
Dalam contoh ini, kami menggunakan JSON. Merangkai dan “===” untuk membandingkan dua objek. Di sini, di program di bawah ini kami menyertakan parameter berbeda di kedua larik. Ini akan mengembalikan false karena parameternya berbeda di kedua objek
Contoh 4
Mengubah urutan properti dalam objek
Dalam contoh ini, kami menggunakan JSON. Stringify dan operator “===” untuk membandingkan objek. Di sini kami telah mengubah urutan properti dalam objek, itu akan mengembalikan false karena tidak dalam urutan yang sama
Menggunakan Loadash_. isEqual
_. isEqaul adalah milik lodash yang digunakan untuk membandingkan objek JavaScript. Digunakan untuk mengetahui apakah dua objek itu sama atau tidak. Misalnya, ada dua array dengan jumlah elemen yang sama, properti dan nilainya juga sama. Bahkan propertinya tidak dalam urutan yang sama, itu akan mengembalikan nilai true
Sintaksis
_.isEqual(obj1, obj2);Contoh 1
Dengan nilai campur aduk
Dalam contoh ini, kami menggunakan _. fungsi yang sama untuk mengetahui apakah mereka sama atau tidak. Itu akan mengembalikan true bahkan jika properti dan nilainya sama tetapi dalam urutan campur aduk
Contoh 2
Dengan nilai yang berbeda pada kedua objek
Dalam contoh ini, kami mengikuti _. fungsi isEqual() untuk bekerja pada objek apakah mereka sama atau tidak. Di sini kami menyertakan situasi di mana properti dan nilai berbeda dalam objek