Computer >> Máy Tính >  >> Lập trình >> Javascript

Nhận thuộc tính về sự khác biệt giữa hai đối tượng trong JavaScript

Giả sử, chúng ta được cung cấp hai đối tượng có các cặp giá trị khóa tương tự với một hoặc khóa có các giá trị khác nhau trong cả hai đối tượng. Công việc của chúng ta là viết một hàm nhận vào hai đối tượng và trả về khóa đầu tiên mà nó tìm thấy có các giá trị khác nhau. Nếu tất cả các khóa có giá trị tên chính xác, nó sẽ trả về -1.

Đây là các đối tượng mẫu -

 const obj1 ={name:'Rahul Sharma', id:'12342fe4554ggf', isE Jobed:true, age:45, lương:190000, job:'Full Stack Developer', EmployedSince:2005} const obj2 ={name:'Rahul Sharma', id:'12342fe4554ggf', is 

Chúng tôi sẽ lấy hai đối tượng, lặp lại đối tượng đầu tiên bằng cách sử dụng vòng lặp forEach (), kiểm tra số dư trong cả hai đối tượng, nếu các giá trị tại bất kỳ điểm nào không khớp, chúng tôi sẽ cập nhật một cờ, thoát ra khỏi vòng lặp và trả về khóa cụ thể . Nếu chúng ta lặp lại toàn bộ vòng lặp, điều đó có nghĩa là mọi thứ đều phù hợp, trong trường hợp đó, chúng ta sẽ trả về -1.

Mã đầy đủ cho điều này sẽ là -

Ví dụ

 const obj1 ={name:'Rahul Sharma', id:'12342fe4554ggf', isE Jobed:true, age:45, lương:190000, job:'Full Stack Developer', EmployedSince:2005} const obj2 ={name:'Rahul Sharma', id:'12342fe4554ggf', isE Jobed:true, age:45, lương:19000, job:'Full Stack Developer', EmployedSince:2005} const difference =(obj1, obj2) => {let keyFound =false; Object.keys (obj1) .forEach (key => {if (obj1 [key]! ==obj2 [key]) {return keyFound =key;}}); key trở lại Tìm kiếm || -1;}; console.log (khác biệt (obj1, obj2)); 

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

 lương