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

Hợp nhất hai đối tượng trong JavaScript bỏ qua các giá trị không xác định

Giả sử, chúng ta có hai đối tượng, giả sử A và B như thế này -

const A = { activity: 'purchased', count: undefined, time: '09:05:33' };
const B = { activity: 'purchased', count: '51', time: undefined };

Chúng tôi bắt buộc phải viết một hàm JavaScript để hợp nhất hai đối tượng này, lưu ý rằng nếu bất kỳ khóa nào có giá trị trung thực thì khóa đó không được ghi đè bởi khóa có giá trị giả.

Nếu chúng tôi thực hiện việc này chỉ đơn giản bằng cách sử dụng toán tử spread, nó sẽ không theo dõi các giá trị trung thực hoặc sai lệch.

Do đó, chúng tôi phải làm điều này bằng cách sử dụng phương pháp lặp lại.

Ví dụ

Sau đây là mã -

const A = { activity: 'purchased', count: undefined, time: '09:05:33' };
const B = { activity: 'purchased', count: '51', time: undefined };
const mergeObject = (A, B) => {
   let res = {};
   Object.keys({...A,...B}).map(key => {
      res[key] = B[key] || A[key];
   });
   return res;
};
console.log(mergeObject(A, B));

Đầu ra

Điều này sẽ tạo ra kết quả sau trên bảng điều khiển -

{ activity: 'purchased', count: '51', time: '09:05:33' }