{"ScriptPreparationCode":"const numObjects = 25;\r\nconst fractionEmpty = 0.5;\r\nvar objs = Array.from({\r\n length: numObjects\r\n}, () =\u003E {\r\n if (Math.random() \u003C fractionEmpty) return {};\r\n const numKeys = 3 \u002B Math.floor(Math.random() * 4);\r\n return Object.fromEntries(Array.from({\r\n length: numKeys\r\n }, (_, idx) =\u003E {\r\n return [idx, Math.random()];\r\n }));\r\n});","TestCases":[{"Name":"for-in","Code":"outerLoop: for (const obj of objs) {\r\n for (var key in obj) {\r\n console.log(true);\r\n continue outerLoop;\r\n }\r\n console.log(false);\r\n}\r\n","IsDeferred":false},{"Name":"Object.keys","Code":"\r\nfor (const obj of objs) {\r\n const isEmpty = Object.keys(obj).length === 0\r\n console.log(isEmpty);\r\n}\r\n","IsDeferred":false},{"Name":"Object.values","Code":"\r\nfor (const obj of objs) {\r\n const isEmpty = Object.values(obj).length === 0\r\n console.log(isEmpty);\r\n}\r\n","IsDeferred":false},{"Name":"for-in with isOwnProperty","Code":"\r\nouterLoop: for (const obj of objs) {\r\n for (var key in obj) {\r\n if (Object.hasOwn(obj, key)) {\r\n console.log(true);\r\n continue outerLoop;\r\n }\r\n console.log(false);\r\n }\r\n console.log(false);\r\n\r\n}","IsDeferred":false}]}