{"ScriptPreparationCode":"const fakeData = {\r\n item1: { isTexture: true },\r\n item2: { isTexture: false },\r\n item3: { isTexture: true },\r\n item4: { isTexture: false },\r\n item5: { isTexture: true }\r\n};","TestCases":[{"Name":"forin","Code":"let textures = [];\r\nconst startForIn = performance.now();\r\n\r\nfor (const key in fakeData) {\r\n const value = fakeData[key];\r\n if (value \u0026\u0026 value.isTexture) {\r\n textures.push(value);\r\n }\r\n}\r\n\r\nconst endForIn = performance.now();\r\nconsole.log(\u0060for-in loop execution time: ${endForIn - startForIn} ms\u0060);","IsDeferred":false},{"Name":"objectkeys","Code":"textures = []; // \u91CD\u7F6E\u6570\u7EC4\r\nconst startObjectKeys = performance.now();\r\n\r\nconst keys = Object.keys(fakeData);\r\nfor (let i = 0; i \u003C keys.length; i\u002B\u002B) {\r\n const key = keys[i];\r\n const value = fakeData[key];\r\n if (value \u0026\u0026 value.isTexture) {\r\n textures.push(value);\r\n }\r\n}\r\n\r\nconst endObjectKeys = performance.now();\r\nconsole.log(\u0060Object.keys loop execution time: ${endObjectKeys - startObjectKeys} ms\u0060);","IsDeferred":false}]}