{"ScriptPreparationCode":"var clone = rfdc()\r\nfunction generateDeterministicTree(depth = 8, breadth = 6) {\r\n function createLevel(level) {\r\n if (level \u003E= depth) {\r\n // \u041D\u0430 \u043B\u0438\u0441\u0442\u044C\u044F\u0445 \u2014 \u0434\u0435\u0442\u0435\u0440\u043C\u0438\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u0441\u0442\u0440\u043E\u043A\u0430 \u0441 \u043D\u043E\u043C\u0435\u0440\u043E\u043C)\r\n return \u0060leaf_${level}\u0060;\r\n }\r\n if (level % 2 === 0) { // \u0427\u0451\u0442\u043D\u044B\u0439 \u2014 \u043E\u0431\u044A\u0435\u043A\u0442\r\n const obj = {};\r\n for (let i = 0; i \u003C breadth; i\u002B\u002B) {\r\n obj[\u0060key_${level}_${i}\u0060] = createLevel(level \u002B 1);\r\n }\r\n return obj;\r\n } else { // \u041D\u0435\u0447\u0451\u0442\u043D\u044B\u0439 \u2014 \u043C\u0430\u0441\u0441\u0438\u0432\r\n const arr = [];\r\n for (let i = 0; i \u003C breadth; i\u002B\u002B) {\r\n arr.push(createLevel(level \u002B 1));\r\n }\r\n return arr;\r\n }\r\n }\r\n return createLevel(0);\r\n}\r\n\r\n// \u041F\u0440\u0438\u043C\u0435\u0440 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F:\r\nvar data = generateDeterministicTree(8, 6);","TestCases":[{"Name":"JSON","Code":"JSON.parse(JSON.stringify(data))","IsDeferred":false},{"Name":"Lodash","Code":"_.cloneDeep(data)","IsDeferred":false},{"Name":"rfdc","Code":"clone(data)","IsDeferred":false},{"Name":"Native","Code":"structuredClone(data)","IsDeferred":false}]}