{"ScriptPreparationCode":"// Polyfill for older environments (no let/const or destructuring)\r\nfunction arraysEqual(a, b) {\r\n if (a.length !== b.length) return false;\r\n for (var i = 0; i \u003C a.length; i\u002B\u002B) {\r\n if (a[i] !== b[i]) return false;\r\n }\r\n return true;\r\n}\r\n\r\n// Create a variety of test arrays\r\nvar size = 100000;\r\nvar base = [];\r\nfor (var i = 0; i \u003C size; i\u002B\u002B) {\r\n base.push(i);\r\n}\r\n\r\nvar same = base.slice(); // Identical\r\nvar reversed = base.slice().reverse(); // Same content, reversed\r\n\r\n// Shuffle manually without destructuring\r\nvar shuffled = base.slice();\r\nfor (var i = shuffled.length - 1; i \u003E 0; i--) {\r\n var j = Math.floor(Math.random() * (i \u002B 1));\r\n var temp = shuffled[i];\r\n shuffled[i] = shuffled[j];\r\n shuffled[j] = temp;\r\n}\r\n\r\nvar oneDiff = base.slice();\r\noneDiff[500] = -1; // One value changed\r\n\r\nvar completelyDifferent = [];\r\nfor (var i = 0; i \u003C size; i\u002B\u002B) {\r\n completelyDifferent.push(i \u002B 1000000);\r\n}\r\n","TestCases":[{"Name":"Native arraysEqual with same array","Code":"arraysEqual(base, same);","IsDeferred":false},{"Name":"Lodash _.isEqual with same array","Code":"_.isEqual(base, same);","IsDeferred":false},{"Name":"Native arraysEqual with one value different","Code":"arraysEqual(base, oneDiff);","IsDeferred":false},{"Name":"Lodash _.isEqual with one value different","Code":"_.isEqual(base, oneDiff);","IsDeferred":false},{"Name":"Native arraysEqual \u2014 reversed array","Code":"arraysEqual(base, reversed);","IsDeferred":false},{"Name":"Lodash _.isEqual \u2014 reversed array","Code":"_.isEqual(base, reversed);","IsDeferred":false},{"Name":"Native arraysEqual \u2014 shuffled array","Code":"arraysEqual(base, shuffled);","IsDeferred":false},{"Name":"Lodash _.isEqual \u2014 shuffled array","Code":"_.isEqual(base, shuffled);","IsDeferred":false}]}