Professional Documents
Culture Documents
Json Deep Equal
Json Deep Equal
* @param {any} o1
* @param {any} o2
* @return {boolean}
*/
var areDeeplyEqual = function(o1, o2) {
// CASE 4
// primitive: number, string, boolean, undefined
if (typeof o1 !== 'object') {
return o1 === o2;
}
// EXTERNAL VALIDATION
if (Object.keys(o1).length !== Object.keys(o2).length) {
return false
}
// CASE 1
if(o1_keys === o2_keys && booVal) {
return "The keys and values match exactly.";
};
// CASE 3
for (let key of o1_keys) {
if (!areDeeplyEqual(o1[key], o2[key])) {
return false;
}
}
// CASE 2
if(o1_keys === o2_keys) {
return "Although the keys are in a different order, they still match
exactly."
};
};