{"ScriptPreparationCode":"var obj = {};\r\nconst aCode = \u0027a\u0027.charCodeAt(0);\r\nconst charsQty = \u0027z\u0027.charCodeAt(0) - aCode;\r\nfor (let i = 0; i \u003C charsQty; i \u002B= 1) {\r\n const key0 = String.fromCharCode(aCode \u002B i);\r\n for (let j = 0; j \u003C charsQty; j \u002B= 1) {\r\n const key1 = key0 \u002B String.fromCharCode(aCode \u002B j);\r\n for (let k = 0; k \u003C charsQty; k \u002B= 1) {\r\n const key2 = key1 \u002B String.fromCharCode(aCode \u002B k);\r\n obj[key2] = key2;\r\n }\r\n }\r\n}","TestCases":[{"Name":"Object.entries","Code":"for (let entries = Object.entries(obj), i = entries.length - 1; i \u003E= 0; i--) {\r\n console.log(entries[i])\r\n}\r\n\r\n","IsDeferred":false},{"Name":"for..in","Code":"for (let key in obj) {\r\n if (obj.hasOwnProperty(key)) {\r\n console.log([key, obj[key]])\r\n }\r\n}","IsDeferred":false},{"Name":"Object.keys","Code":"for (let keyArray = Object.keys(obj), i = keyArray.length - 1, key = keyArray[i]; i \u003E= 0; key = keyArray[--i]) {\r\n console.log([key, obj[key]]);\r\n}\r\n","IsDeferred":false},{"Name":"Object.keys no entry","Code":"for (let keyArray = Object.keys(obj), i = keyArray.length - 1, key = keyArray[i]; i \u003E= 0; key = keyArray[--i]) {\r\n console.log(key, obj[key]);\r\n}","IsDeferred":false},{"Name":"for..in no array","Code":"for (let key in obj) {\r\n if (obj.hasOwnProperty(key)) {\r\n console.log(key, obj[key])\r\n }\r\n} ","IsDeferred":false},{"Name":"Object.entries no array","Code":"for (let entries = Object.entries(obj), i = entries.length - 1, entry = entries[i]; i \u003E= 0; entry = entries[i--]) {\r\n\r\n console.log(entry[0], entry[1])\r\n} ","IsDeferred":false}]}