{"ScriptPreparationCode":"var obj = {\r\n $props : [\u0027a\u0027,\u0027b\u0027,\u0027c\u0027],\r\n a:1,\r\n b:2,\r\n c:3\r\n}","TestCases":[{"Name":"keys","Code":"const arr = Object.keys(obj);\r\nlet n = 0;\r\nfor (let i = 0; i \u003C arr.length; i\u002B\u002B) {\r\n const k = arr[i];\r\n if (k.charAt(0) == \u0027$\u0027) continue;\r\n n\u002B\u002B;\r\n}","IsDeferred":false},{"Name":"getOwnPropertyNames","Code":"const arr = Object.getOwnPropertyNames(obj);\r\nlet n = 0;\r\nfor (let i = 0; i \u003C arr.length; i\u002B\u002B) {\r\n const k = arr[i];\r\n if (k.charAt(0) == \u0027$\u0027) continue;\r\n n\u002B\u002B;\r\n}","IsDeferred":false},{"Name":"for ... in","Code":"let n = 0;\r\nfor (const k in obj) {\r\n if (k.charAt(0) == \u0027$\u0027) continue;\r\n n\u002B\u002B;\r\n}","IsDeferred":false}]}