Trung BìnhJavaScript iconJavaScript

Viết function so sánh 2 objects deep equal?

Deep equal so sánh đệ quy toàn bộ nested values — không dùng được === cho objects.

js
function deepEqual(a, b) {
  if (a === b) return true;
  if (typeof a !== 'object' || typeof b !== 'object' || !a || !b) return false;
  const keysA = Object.keys(a), keysB = Object.keys(b);
  if (keysA.length !== keysB.length) return false;
  return keysA.every(key => deepEqual(a[key], b[key]));
}

Phỏng vấn thường hỏi để test recursion và edge cases (null, arrays).

Xem toàn bộ JavaScript cùng filter theo level & chủ đề con.

Mở danh sách JavaScript