{"ScriptPreparationCode":"var obj1 = {\r\n 0: {\r\n 1: {\r\n key: \u0027one\u0027\r\n }\r\n }\r\n};\r\n\r\nvar obj1copy = {\r\n 0: {\r\n 1: {\r\n key: \u0027one\u0027\r\n }\r\n }\r\n};\r\n\r\nvar obj2 = {\r\n 0: {\r\n 1: {\r\n key: \u0027two\u0027\r\n }\r\n }\r\n};\r\n","TestCases":[{"Name":"Underscore equal","Code":"underscore.isEqual(obj1, obj1copy);","IsDeferred":false},{"Name":"Lodash equal","Code":"lodash.isEqual(obj1, obj1copy);","IsDeferred":false},{"Name":"JSON Stringify with presorting comparison","Code":"function SortedJSONstringify(a) {\r\n const keySet = new Set();\r\n JSON.stringify(a, (key, value) =\u003E (keySet.add(key), value));\r\n const sortedKeys = Array.from(keySet).sort();\r\n return JSON.stringify(a, sortedKeys);\r\n}\r\n\r\nSortedJSONstringify(obj1) === SortedJSONstringify(obj1copy)","IsDeferred":false},{"Name":"JSON Stringify comparison","Code":"JSON.stringify(obj1) === JSON.stringify(obj1copy)","IsDeferred":false}]}