{"ScriptPreparationCode":"var exampleItem1 = \u0027You will never find me!\u0027;\r\nvar exampleItem2 = \u0027I am invisible!\u0027;\r\nvar exampleArray = Array(500).fill(\u0027\u0027).map((x, i) =\u003E x \u002B (i \u002B 1));\r\nvar compare1 = x =\u003E x === exampleItem1;\r\nvar compare2 = x =\u003E x === exampleItem2;","TestCases":[{"Name":"findIndex","Code":"exampleArray.findIndex(compare1);\r\nexampleArray.findIndex(compare2);","IsDeferred":false},{"Name":"indexOf","Code":"exampleArray.indexOf(exampleItem1);\r\nexampleArray.indexOf(exampleItem2);","IsDeferred":false},{"Name":"for","Code":"let index1 = null;\r\nlet index2 = null;\r\n\r\nfor (let i = 0, l = exampleArray.length; i \u003C l; i \u002B= 1) {\r\n if (index1 === null \u0026\u0026 compare1(exampleArray[i])) {\r\n index1 = i;\r\n continue;\r\n }\r\n if (index2 === null \u0026\u0026 compare2(exampleArray[i])) {\r\n index2 = i;\r\n continue;\r\n }\r\n if (index1 !== null \u0026\u0026 index2 !== null) break;\r\n}","IsDeferred":false},{"Name":"while","Code":"let index1 = null;\r\nlet index2 = null;\r\n\r\nlet i = -1, l = exampleArray.length;\r\nwhile (\u002B\u002Bi \u003C l) {\r\n if (index1 === null \u0026\u0026 compare1(exampleArray[i])) {\r\n index1 = i;\r\n continue;\r\n }\r\n if (index2 === null \u0026\u0026 compare2(exampleArray[i])) {\r\n index2 = i;\r\n continue;\r\n }\r\n if (index1 !== null \u0026\u0026 index2 !== null) break;\r\n}","IsDeferred":false},{"Name":"indexed","Code":"const indexes = {};\r\nfor (let i = 0, l = exampleArray.length; i \u003C l; i \u002B= 1) {\r\n indexes[exampleArray[i]] = i;\r\n}\r\n\r\nlet index1 = indexes[exampleItem1];\r\nlet index2 = indexes[exampleItem2];","IsDeferred":false}]}