{"ScriptPreparationCode":"function getTypeAttributes() {\r\n\treturn [\r\n \u0027a\u0027,\r\n \u0027b\u0027,\r\n \u0027c\u0027,\r\n \u0027d\u0027,\r\n \u0027e\u0027,\r\n \u0027f\u0027,\r\n \u0027g\u0027,\r\n \u0027h\u0027,\r\n \u0027i\u0027,\r\n \u0027j\u0027,\r\n \u0027k\u0027,\r\n \u0027l\u0027,\r\n \u0027m\u0027,\r\n \u0027n\u0027,\r\n \u0027o\u0027,\r\n \u0027p\u0027,\r\n \u0027q\u0027,\r\n \u0027r\u0027,\r\n \u0027s\u0027,\r\n \u0027t\u0027,\r\n \u0027u\u0027,\r\n \u0027v\u0027,\r\n \u0027w\u0027,\r\n \u0027x\u0027,\r\n \u0027y\u0027,\r\n \u0027z\u0027,\r\n\t];\r\n}\r\n\r\nconst o = {};\r\nfor (let i = 0, { length } = getTypeAttributes(); i \u003C length; i \u002B= 1) {\r\n o[\u0060typeAttribute${i}\u0060] = \u0060${i}\u0060;\r\n}\r\n\r\nfunction typeAttributesWithReduce() {\r\n const typeAttributes = getTypeAttributes();\r\n if (Array.isArray(typeAttributes)) {\r\n return typeAttributes.reduce((seed, attrName, index) =\u003E {\r\n seed[attrName] = o[\u0060typeAttribute${index}\u0060];\r\n return seed;\r\n }, {});\r\n }\r\n return {};\r\n}\r\n \r\nfunction typeAttributesWithForLoop() {\r\n const typeAttributes = getTypeAttributes();\r\n const attrs = {};\r\n if (Array.isArray(typeAttributes)) {\r\n for (let i = 0, { length } = typeAttributes; i \u003C length; i \u002B= 1) {\r\n attrs[typeAttributes[i]] = o[\u0060typeAttribute${i}\u0060];\r\n }\r\n }\r\n return attrs;\r\n}","TestCases":[{"Name":"reduce","Code":"typeAttributesWithReduce();","IsDeferred":false},{"Name":"for-loop","Code":"typeAttributesWithForLoop();","IsDeferred":false}]}