{"ScriptPreparationCode":"var COUNT = 100000","TestCases":[{"Name":"Array","Code":"const objects = [];\r\nfor(let prev, idx = 0; idx \u003C COUNT; idx\u002B\u002B) {\r\n const obj = [ \r\n idx, COUNT-1-idx, prev, null\r\n ];\r\n if(prev) prev[3] = obj; \r\n prev = obj;\r\n obj.push(objects.push(obj)); // expanded\r\n obj.push(objects); // expanded\r\n}\r\nreturn objects;","IsDeferred":false},{"Name":"Expando Object","Code":"const objects = []\r\nfor(let prev, idx = 0; idx \u003C COUNT; idx\u002B\u002B) { \r\n const obj = { \r\n idx, \r\n remaining: COUNT-1-idx, \r\n prev\r\n }; \r\n if(prev) prev.next = obj; // expanded\r\n prev = obj; \r\n obj.result = objects.push(obj); // expanded\r\n obj.all = objects; // expanded \r\n}\r\nreturn objects;","IsDeferred":false},{"Name":"Indexed Expando ","Code":"const objects = [];\r\nfor(let prev, idx = 0; idx \u003C COUNT; idx\u002B\u002B) {\r\n const obj = { \r\n 0: idx, \r\n 1: COUNT-1-idx, \r\n 2: prev\r\n };\r\n if(prev) prev[3] = obj;// expanded\r\n prev = obj;\r\n obj[4] = objects.push(obj);// expanded\r\n obj[5] = objects; // expanded\r\n}\r\nreturn objects;\r\n","IsDeferred":false},{"Name":"Tuple","Code":"const objects = []\r\nfor(let prev, idx = 0; idx \u003C COUNT; idx\u002B\u002B) { \r\n const obj = [ \r\n idx, \r\n COUNT-1-idx, \r\n prev, \r\n null, \r\n undefined, \r\n null\r\n ]; \r\n if(prev) prev[3] = obj; \r\n prev = obj; \r\n obj[4] = objects.push(obj);\r\n obj[5] = objects; \r\n}\r\nreturn objects;\r\n\r\n","IsDeferred":false},{"Name":"Literal Object ","Code":"const objects = []\r\nfor(let prev, idx = 0; idx \u003C COUNT; idx\u002B\u002B) { \r\n const obj = { \r\n idx, \r\n remaining: COUNT-1-idx,\r\n prev, \r\n next: null, \r\n result: undefined, \r\n all: null\r\n }; \r\n if(prev) prev.next = obj; \r\n prev = obj;\r\n obj.result = objects.push(obj);\r\n obj.all = objects;\r\n}\r\nreturn objects;","IsDeferred":false},{"Name":"Indexed Literal Object","Code":"const objects = [];\r\nfor(let prev, idx = 0; idx \u003C COUNT; idx\u002B\u002B) {\r\n const obj = { \r\n 0: idx, \r\n 1: COUNT-1-idx, \r\n 2: prev, \r\n 3: null, \r\n 4: undefined, \r\n 5: null\r\n };\r\n if(prev) prev[3] = obj;\r\n prev = obj;\r\n obj[4] = objects.push(obj);\r\n obj[5] = objects; \r\n}\r\nreturn objects;","IsDeferred":false}]}