{"ScriptPreparationCode":"var arr = [];\r\nfor (let i = 0; i \u003C 1000000; \u002B\u002Bi) {\r\n arr[i] = Math.floor(Math.random() * 1000)\r\n}\r\n\r\nfunction simpleFilter(i) {\r\n return i % 2 == 0\r\n}\r\n\r\nfunction advancedFilter(i) {\r\n return Math.round(i * 235.78) % 6 \u003C 2\r\n || Math.round(i * 8945.78) % 7 \u003C 3\r\n \u0026\u0026 Math.round(Math.sqrt(i)) * Math.round(Math.sqrt(i)) == i\r\n}\r\n\r\nvar counters = {\r\n \u0022t1a\u0022: 0,\r\n \u0022t1b\u0022: 0,\r\n \u0022t2a\u0022: 0,\r\n \u0022t2b\u0022: 0,\r\n}","TestCases":[{"Name":"Just loop and simpleFilter inside","Code":"arr.forEach(i =\u003E {\r\n if (i % 2 == 0) {\r\n \u002B\u002Bcounters[\u0022t1a\u0022]\r\n }\r\n})","IsDeferred":false},{"Name":"Just loop and advancedFilter inside","Code":"arr.forEach(n =\u003E {\r\n if (Math.round(i * 235.78) % 6 \u003C 2\r\n || Math.round(i * 8945.78) % 7 \u003C 3\r\n \u0026\u0026 Math.round(Math.sqrt(i)) * Math.round(Math.sqrt(i)) == i) {\r\n \u002B\u002Bcounters[\u0022t1b\u0022]\r\n }\r\n})","IsDeferred":false},{"Name":"simpleFilter and loop","Code":"arr.filter(i =\u003E simpleFilter(i)).forEach(_ =\u003E \u002B\u002Bcounters[\u0022t2a\u0022])","IsDeferred":false},{"Name":"advancedFilter and loop","Code":"arr.filter(i =\u003E advancedFilter(i)).forEach(_ =\u003E \u002B\u002Bcounters[\u0022t2b\u0022])","IsDeferred":false}]}