UNPKG

suranadira-utils

Version:
36 lines (33 loc) 1.14 kB
import { compareArrays } from "./arrays"; // Compare two objects export const compareObjects = (object, object2) => { for (let propName in object) { if (object.hasOwnProperty(propName) !== object2.hasOwnProperty(propName)) { return false; } else if (typeof object[propName] != typeof object2[propName]) { return false; } } for (let propName in object2) { if (object.hasOwnProperty(propName) !== object2.hasOwnProperty(propName)) { return false; } else if (typeof object[propName] != typeof object2[propName]) { return false; } if (!object.hasOwnProperty(propName)) continue; if ( object[propName] instanceof Array && object2[propName] instanceof Array ) { if (!compareArrays(object[propName], object2[propName])) return false; } else if ( object[propName] instanceof Object && object2[propName] instanceof Object ) { if (!compareObjects(object[propName], object2[propName])) return false; } else if (object[propName] !== object2[propName]) { return false; } } return true; };