{"ScriptPreparationCode":"function getRandomIntInclusive(min, max) {\r\n min = Math.ceil(min);\r\n max = Math.floor(max);\r\n return Math.floor(Math.random() * (max - min \u002B 1) \u002B min); // The maximum is inclusive and the minimum is inclusive\r\n}\r\n\r\nfunction Skill(){\r\n\tthis.id = getRandomIntInclusive(1, 1000000);\r\n this.proficiency = getRandomIntInclusive(0, 10);\r\n}\r\n\r\nfunction makeSkill(n) {\r\n var skills = new Array(n)\r\n for (var i = 0; i \u003C n; \u002B\u002Bi) {\r\n skills[i] = new Skill()\r\n }\r\n return skills;\r\n}\r\n\r\nfunction Employee(){\r\n this.age = getRandomIntInclusive(16, 75);\r\n\tthis.id = getRandomIntInclusive(1, 1000000);\r\n this.skills = makeSkill(1000);\r\n}\r\n\r\nfunction makeEmployees(n) {\r\n var employees = new Array(n)\r\n for (var i = 0; i \u003C n; \u002B\u002Bi) {\r\n employees[i] = new Employee()\r\n }\r\n return employees\r\n}\r\n\r\nvar e1 = makeEmployees(1000)\r\n","TestCases":[{"Name":"without reference","Code":"var i = 1000;\r\nwhile (i--) {\r\n\tconsole.log(e1[i].skills[i])\r\n\tconsole.log(e1[i].skills[i])\r\n\tconsole.log(e1[i].skills[i])\r\n\tconsole.log(e1[i].skills[i])\r\n\tconsole.log(e1[i].skills[i])\r\n\tconsole.log(e1[i].skills[i])\r\n\tconsole.log(e1[i].skills[i])\r\n\tconsole.log(e1[i].skills[i])\r\n\tconsole.log(e1[i].skills[i])\r\n\tconsole.log(e1[i].skills[i])\r\n}","IsDeferred":false},{"Name":"with reference","Code":"var i = 1000;\r\nwhile (i--) {\r\n let x = e1[0].skills\r\n\tconsole.log(x[i])\r\n\tconsole.log(x[i])\r\n\tconsole.log(x[i])\r\n\tconsole.log(x[i])\r\n\tconsole.log(x[i])\r\n\tconsole.log(x[i])\r\n\tconsole.log(x[i])\r\n\tconsole.log(x[i])\r\n\tconsole.log(x[i])\r\n\tconsole.log(x[i])\r\n}","IsDeferred":false}]}