{"ScriptPreparationCode":"window.foo = [\u0027cat\u0027, \u0027dog\u0027, \u0027bird\u0027];\r\nwindow.bar = [\u0027cat\u0027, \u0027dog\u0027, \u0027bird\u0027];\r\n\r\nfunction arraysAreEqual(\r\n firstArray,\r\n secondArray,\r\n options,\r\n) {\r\n if (firstArray.length !== secondArray.length) {\r\n return false;\r\n }\r\n\r\n const {\r\n comparator,\r\n orderSensitive = true\r\n } = options;\r\n\r\n const first = orderSensitive ? firstArray : [...firstArray.sort()];\r\n const second = orderSensitive ? secondArray : [...secondArray.sort()];\r\n\r\n return first.every((firstItem, index) =\u003E {\r\n const secondItem = second[index];\r\n if (comparator != null) {\r\n return comparator(firstItem, secondItem);\r\n }\r\n return firstItem === secondItem;\r\n });\r\n}","TestCases":[{"Name":"Arrays are equal","Code":"arraysAreEqual(window.foo, window.bar, {comparator: (a, b) =\u003E a===b, orderSensitive: false})","IsDeferred":false},{"Name":"_.isEqualWith","Code":"_.isEqualWith(window.foo, window.bar, (a, b) =\u003E a===b)","IsDeferred":false}]}