{"ScriptPreparationCode":null,"TestCases":[{"Name":"Array#pop()","Code":"const objPop = {\r\n\ta: 1,\r\n\tb: 2,\r\n \tc: 3,\r\n\r\n [Symbol.iterator]() {\r\n const elements = Object.entries( this ).reverse(); // 1\r\n let index = elements.length - 1;\r\n\r\n return {\r\n next() {\r\n if ( index \u003E= 0 ) {\r\n index--;\r\n const [ k, v ] = elements.pop(); // 2\r\n\r\n return { value: { k, v }, done: false };\r\n }\r\n\r\n return { value: undefined, done: true };\r\n }\r\n }\r\n }\r\n};\r\nlet i = 0;\r\n\r\nwhile ( i\u002B\u002B \u003C 10000 ) {\r\n [ ...objPop ];\r\n}","IsDeferred":false},{"Name":"Array#shift()","Code":"const objShift = {\r\n a: 1,\r\n b: 2,\r\n c: 3,\r\n \r\n [Symbol.iterator]() {\r\n const elements = Object.entries( this );\r\n\r\n return {\r\n next() {\r\n if ( elements.length \u003E 0 ) {\r\n const [ k, v ] = elements.shift();\r\n \r\n return { value: { k, v }, done: false };\r\n }\r\n \r\n return { value: undefined, done: true };\r\n }\r\n }\r\n }\r\n};\r\nlet i = 0;\r\n\r\nwhile ( i\u002B\u002B \u003C 10000 ) {\r\n [ ...objShift ];\r\n}","IsDeferred":false}]}