From a4822e840254303e00fa698f94f1a1ca0e43dd39 Mon Sep 17 00:00:00 2001 From: Chalarangelo Date: Wed, 8 Sep 2021 15:02:06 +0300 Subject: [PATCH] Tidy up equals snippet --- snippets/equals.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/snippets/equals.md b/snippets/equals.md index 1e93b04b2..032b09b37 100644 --- a/snippets/equals.md +++ b/snippets/equals.md @@ -15,13 +15,18 @@ Performs a deep comparison between two values to determine if they are equivalen ```js const equals = (a, b) => { if (a === b) return true; + if (a instanceof Date && b instanceof Date) return a.getTime() === b.getTime(); + if (!a || !b || (typeof a !== 'object' && typeof b !== 'object')) return a === b; + if (a.prototype !== b.prototype) return false; - let keys = Object.keys(a); + + const keys = Object.keys(a); if (keys.length !== Object.keys(b).length) return false; + return keys.every(k => equals(a[k], b[k])); }; ```