{"ScriptPreparationCode":"var MyObject = {\r\n description: \u0027Creates a deep copy of source, which should be an object or an array.\u0027,\r\n myNumber: 123456789,\r\n myBoolean: true,\r\n jayson: {\r\n stringify: \u0027JSON.stringify() method converts a JavaScript value to a JSON string....\u0027,\r\n parse: \u0027JSON.parse() method parses a JSON string...\u0027\r\n },\r\n test: [\r\n { press: 982, geopotentialHeight: 142.9442243, temp: 11.6, dwpt: 8.1 },\r\n { press: 975, geopotentialHeight: 202.9868942, temp: 10.5, dwpt: 7.2 },\r\n { press: 950, geopotentialHeight: 418.1651935, temp: 8.3, dwpt: 6.3 },\r\n { press: 925, geopotentialHeight: 637.9152697, temp: 6.3, dwpt: 4.8 },\r\n { press: 900, geopotentialHeight: 862.2371228, temp: 4.7, dwpt: 3.2 },\r\n { press: 875, geopotentialHeight: 1091.435538, temp: 3.2, dwpt: 2 },\r\n { press: 850, geopotentialHeight: 1325.8153, temp: 1.5, dwpt: 1 },\r\n { press: 825, geopotentialHeight: 1565.98598, temp: 0.3, dwpt: 0 },\r\n { press: 800, geopotentialHeight: 1812.557147, temp: -0.8, dwpt: -1.2 },\r\n { press: 775, geopotentialHeight: 2065.528802, temp: -2.1, dwpt: -2.7 },\r\n { press: 750, geopotentialHeight: 2325.510515, temp: -3.6, dwpt: -4.2 },\r\n { press: 725, geopotentialHeight: 2593.111856, temp: -5.1, dwpt: -5.8 },\r\n { press: 700, geopotentialHeight: 2868.332825, temp: -6.2, dwpt: -7.6 },\r\n { press: 675, geopotentialHeight: 3151.478208, temp: -7.7, dwpt: -9.5 },\r\n { press: 650, geopotentialHeight: 3445.29107, temp: -9.2, dwpt: -11.4 },\r\n { press: 625, geopotentialHeight: 3746.418775, temp: -10.8, dwpt: -13.7 },\r\n { press: 600, geopotentialHeight: 4060.347455, temp: -12.5, dwpt: -16.1 },\r\n { press: 575, geopotentialHeight: 4383.419689, temp: -14.2, dwpt: -18.3 },\r\n { press: 550, geopotentialHeight: 4720.816824, temp: -16, dwpt: -20.6 },\r\n { press: 525, geopotentialHeight: 5068.271868, temp: -18.1, dwpt: -24 },\r\n { press: 500, geopotentialHeight: 5432.490094, temp: -20.3, dwpt: -27.6 },\r\n { press: 475, geopotentialHeight: 5807.98537, temp: -23.3, dwpt: -30.7 },\r\n { press: 450, geopotentialHeight: 6203.90125, temp: -26.5, dwpt: -34.1 },\r\n { press: 425, geopotentialHeight: 6610.179823, temp: -30, dwpt: -37.5 },\r\n { press: 400, geopotentialHeight: 7041.450777, temp: -33.7, dwpt: -41.2 },\r\n { press: 375, geopotentialHeight: 7487.046632, temp: -37.2, dwpt: -44.5 },\r\n { press: 350, geopotentialHeight: 7963.425785, temp: -40.9, dwpt: -48.1 },\r\n { press: 325, geopotentialHeight: 8461.139896, temp: -43.1, dwpt: -54.2 },\r\n { press: 300, geopotentialHeight: 8998.780859, temp: -45.5, dwpt: -64.8 },\r\n { press: 275, geopotentialHeight: 9579.396525, temp: -45.2, dwpt: -67.6 },\r\n { press: 250, geopotentialHeight: 10215.1783, temp: -44.9, dwpt: -72.9 },\r\n { press: 225, geopotentialHeight: 10919.53673, temp: -45, dwpt: -74.4 },\r\n { press: 200, geopotentialHeight: 11707.10149, temp: -45.1, dwpt: -76.7 },\r\n { press: 175, geopotentialHeight: 12595.24535, temp: -46.5, dwpt: -79.9 },\r\n { press: 150, geopotentialHeight: 13620.54252, temp: -48.1, dwpt: -84.9 },\r\n { press: 125, geopotentialHeight: 14803.10881, temp: -50.8, dwpt: -86.4 },\r\n { press: 100, geopotentialHeight: 16250.22859, temp: -54, dwpt: -88.1 },\r\n { press: 75, geopotentialHeight: 18056.38525, temp: -56.9, dwpt: -88.3 },\r\n { press: 50, geopotentialHeight: 20601.95062, temp: -61, dwpt: -89.4 }\r\n ],\r\n test2: [\r\n { press: 982, geopotentialHeight: 142.9442243, temp: 11.6, dwpt: 8.1, test: [\r\n { press: 982, geopotentialHeight: 142.9442243, temp: 11.6, dwpt: 8.1 },\r\n { press: 975, geopotentialHeight: 202.9868942, temp: 10.5, dwpt: 7.2 },\r\n { press: 950, geopotentialHeight: 418.1651935, temp: 8.3, dwpt: 6.3 },\r\n { press: 925, geopotentialHeight: 637.9152697, temp: 6.3, dwpt: 4.8 },\r\n { press: 900, geopotentialHeight: 862.2371228, temp: 4.7, dwpt: 3.2 },\r\n { press: 875, geopotentialHeight: 1091.435538, temp: 3.2, dwpt: 2 },\r\n { press: 850, geopotentialHeight: 1325.8153, temp: 1.5, dwpt: 1 },\r\n { press: 825, geopotentialHeight: 1565.98598, temp: 0.3, dwpt: 0 },\r\n { press: 800, geopotentialHeight: 1812.557147, temp: -0.8, dwpt: -1.2 },\r\n { press: 775, geopotentialHeight: 2065.528802, temp: -2.1, dwpt: -2.7 },\r\n { press: 750, geopotentialHeight: 2325.510515, temp: -3.6, dwpt: -4.2 },\r\n { press: 725, geopotentialHeight: 2593.111856, temp: -5.1, dwpt: -5.8 },\r\n { press: 700, geopotentialHeight: 2868.332825, temp: -6.2, dwpt: -7.6 },\r\n { press: 675, geopotentialHeight: 3151.478208, temp: -7.7, dwpt: -9.5 },\r\n { press: 650, geopotentialHeight: 3445.29107, temp: -9.2, dwpt: -11.4 },\r\n { press: 625, geopotentialHeight: 3746.418775, temp: -10.8, dwpt: -13.7 },\r\n { press: 600, geopotentialHeight: 4060.347455, temp: -12.5, dwpt: -16.1 },\r\n { press: 575, geopotentialHeight: 4383.419689, temp: -14.2, dwpt: -18.3 },\r\n { press: 550, geopotentialHeight: 4720.816824, temp: -16, dwpt: -20.6 },\r\n { press: 525, geopotentialHeight: 5068.271868, temp: -18.1, dwpt: -24 },\r\n { press: 500, geopotentialHeight: 5432.490094, temp: -20.3, dwpt: -27.6 },\r\n { press: 475, geopotentialHeight: 5807.98537, temp: -23.3, dwpt: -30.7 },\r\n { press: 450, geopotentialHeight: 6203.90125, temp: -26.5, dwpt: -34.1 },\r\n { press: 425, geopotentialHeight: 6610.179823, temp: -30, dwpt: -37.5 },\r\n { press: 400, geopotentialHeight: 7041.450777, temp: -33.7, dwpt: -41.2 },\r\n { press: 375, geopotentialHeight: 7487.046632, temp: -37.2, dwpt: -44.5 },\r\n { press: 350, geopotentialHeight: 7963.425785, temp: -40.9, dwpt: -48.1 },\r\n { press: 325, geopotentialHeight: 8461.139896, temp: -43.1, dwpt: -54.2 },\r\n { press: 300, geopotentialHeight: 8998.780859, temp: -45.5, dwpt: -64.8 },\r\n { press: 275, geopotentialHeight: 9579.396525, temp: -45.2, dwpt: -67.6 },\r\n { press: 250, geopotentialHeight: 10215.1783, temp: -44.9, dwpt: -72.9 },\r\n { press: 225, geopotentialHeight: 10919.53673, temp: -45, dwpt: -74.4 },\r\n { press: 200, geopotentialHeight: 11707.10149, temp: -45.1, dwpt: -76.7 },\r\n { press: 175, geopotentialHeight: 12595.24535, temp: -46.5, dwpt: -79.9 },\r\n { press: 150, geopotentialHeight: 13620.54252, temp: -48.1, dwpt: -84.9 },\r\n { press: 125, geopotentialHeight: 14803.10881, temp: -50.8, dwpt: -86.4, test: [\r\n { press: 982, geopotentialHeight: 142.9442243, temp: 11.6, dwpt: 8.1 },\r\n { press: 975, geopotentialHeight: 202.9868942, temp: 10.5, dwpt: 7.2 },\r\n { press: 950, geopotentialHeight: 418.1651935, temp: 8.3, dwpt: 6.3 },\r\n { press: 925, geopotentialHeight: 637.9152697, temp: 6.3, dwpt: 4.8 },\r\n { press: 900, geopotentialHeight: 862.2371228, temp: 4.7, dwpt: 3.2 },\r\n { press: 875, geopotentialHeight: 1091.435538, temp: 3.2, dwpt: 2 },\r\n { press: 850, geopotentialHeight: 1325.8153, temp: 1.5, dwpt: 1 },\r\n { press: 825, geopotentialHeight: 1565.98598, temp: 0.3, dwpt: 0 },\r\n { press: 800, geopotentialHeight: 1812.557147, temp: -0.8, dwpt: -1.2 },\r\n { press: 775, geopotentialHeight: 2065.528802, temp: -2.1, dwpt: -2.7 },\r\n { press: 750, geopotentialHeight: 2325.510515, temp: -3.6, dwpt: -4.2 },\r\n { press: 725, geopotentialHeight: 2593.111856, temp: -5.1, dwpt: -5.8 },\r\n { press: 700, geopotentialHeight: 2868.332825, temp: -6.2, dwpt: -7.6 },\r\n { press: 675, geopotentialHeight: 3151.478208, temp: -7.7, dwpt: -9.5 },\r\n { press: 650, geopotentialHeight: 3445.29107, temp: -9.2, dwpt: -11.4 },\r\n { press: 625, geopotentialHeight: 3746.418775, temp: -10.8, dwpt: -13.7 },\r\n { press: 600, geopotentialHeight: 4060.347455, temp: -12.5, dwpt: -16.1 },\r\n { press: 575, geopotentialHeight: 4383.419689, temp: -14.2, dwpt: -18.3 },\r\n { press: 550, geopotentialHeight: 4720.816824, temp: -16, dwpt: -20.6 },\r\n { press: 525, geopotentialHeight: 5068.271868, temp: -18.1, dwpt: -24 },\r\n { press: 500, geopotentialHeight: 5432.490094, temp: -20.3, dwpt: -27.6 },\r\n { press: 475, geopotentialHeight: 5807.98537, temp: -23.3, dwpt: -30.7 },\r\n { press: 450, geopotentialHeight: 6203.90125, temp: -26.5, dwpt: -34.1 },\r\n { press: 425, geopotentialHeight: 6610.179823, temp: -30, dwpt: -37.5 },\r\n { press: 400, geopotentialHeight: 7041.450777, temp: -33.7, dwpt: -41.2 },\r\n { press: 375, geopotentialHeight: 7487.046632, temp: -37.2, dwpt: -44.5 },\r\n { press: 350, geopotentialHeight: 7963.425785, temp: -40.9, dwpt: -48.1 },\r\n { press: 325, geopotentialHeight: 8461.139896, temp: -43.1, dwpt: -54.2 },\r\n { press: 300, geopotentialHeight: 8998.780859, temp: -45.5, dwpt: -64.8 },\r\n { press: 275, geopotentialHeight: 9579.396525, temp: -45.2, dwpt: -67.6 },\r\n { press: 250, geopotentialHeight: 10215.1783, temp: -44.9, dwpt: -72.9 },\r\n { press: 225, geopotentialHeight: 10919.53673, temp: -45, dwpt: -74.4 },\r\n { press: 200, geopotentialHeight: 11707.10149, temp: -45.1, dwpt: -76.7 },\r\n { press: 175, geopotentialHeight: 12595.24535, temp: -46.5, dwpt: -79.9 },\r\n { press: 150, geopotentialHeight: 13620.54252, temp: -48.1, dwpt: -84.9 },\r\n { press: 125, geopotentialHeight: 14803.10881, temp: -50.8, dwpt: -86.4 },\r\n { press: 100, geopotentialHeight: 16250.22859, temp: -54, dwpt: -88.1 },\r\n { press: 75, geopotentialHeight: 18056.38525, temp: -56.9, dwpt: -88.3 },\r\n { press: 50, geopotentialHeight: 20601.95062, temp: -61, dwpt: -89.4 }\r\n ] },\r\n { press: 100, geopotentialHeight: 16250.22859, temp: -54, dwpt: -88.1 },\r\n { press: 75, geopotentialHeight: 18056.38525, temp: -56.9, dwpt: -88.3 },\r\n { press: 50, geopotentialHeight: 20601.95062, temp: -61, dwpt: -89.4 }\r\n ] },\r\n { press: 975, geopotentialHeight: 202.9868942, temp: 10.5, dwpt: 7.2 },\r\n { press: 950, geopotentialHeight: 418.1651935, temp: 8.3, dwpt: 6.3 },\r\n { press: 925, geopotentialHeight: 637.9152697, temp: 6.3, dwpt: 4.8 },\r\n { press: 900, geopotentialHeight: 862.2371228, temp: 4.7, dwpt: 3.2 },\r\n { press: 875, geopotentialHeight: 1091.435538, temp: 3.2, dwpt: 2 },\r\n { press: 850, geopotentialHeight: 1325.8153, temp: 1.5, dwpt: 1 },\r\n { press: 825, geopotentialHeight: 1565.98598, temp: 0.3, dwpt: 0 },\r\n { press: 800, geopotentialHeight: 1812.557147, temp: -0.8, dwpt: -1.2 },\r\n { press: 775, geopotentialHeight: 2065.528802, temp: -2.1, dwpt: -2.7 },\r\n { press: 750, geopotentialHeight: 2325.510515, temp: -3.6, dwpt: -4.2 },\r\n { press: 725, geopotentialHeight: 2593.111856, temp: -5.1, dwpt: -5.8 },\r\n { press: 700, geopotentialHeight: 2868.332825, temp: -6.2, dwpt: -7.6 },\r\n { press: 675, geopotentialHeight: 3151.478208, temp: -7.7, dwpt: -9.5 },\r\n { press: 650, geopotentialHeight: 3445.29107, temp: -9.2, dwpt: -11.4 },\r\n { press: 625, geopotentialHeight: 3746.418775, temp: -10.8, dwpt: -13.7 },\r\n { press: 600, geopotentialHeight: 4060.347455, temp: -12.5, dwpt: -16.1 },\r\n { press: 575, geopotentialHeight: 4383.419689, temp: -14.2, dwpt: -18.3 },\r\n { press: 550, geopotentialHeight: 4720.816824, temp: -16, dwpt: -20.6 },\r\n { press: 525, geopotentialHeight: 5068.271868, temp: -18.1, dwpt: -24 },\r\n { press: 500, geopotentialHeight: 5432.490094, temp: -20.3, dwpt: -27.6 },\r\n { press: 475, geopotentialHeight: 5807.98537, temp: -23.3, dwpt: -30.7 },\r\n { press: 450, geopotentialHeight: 6203.90125, temp: -26.5, dwpt: -34.1 },\r\n { press: 425, geopotentialHeight: 6610.179823, temp: -30, dwpt: -37.5 },\r\n { press: 400, geopotentialHeight: 7041.450777, temp: -33.7, dwpt: -41.2 },\r\n { press: 375, geopotentialHeight: 7487.046632, temp: -37.2, dwpt: -44.5 },\r\n { press: 350, geopotentialHeight: 7963.425785, temp: -40.9, dwpt: -48.1 },\r\n { press: 325, geopotentialHeight: 8461.139896, temp: -43.1, dwpt: -54.2 },\r\n { press: 300, geopotentialHeight: 8998.780859, temp: -45.5, dwpt: -64.8 },\r\n { press: 275, geopotentialHeight: 9579.396525, temp: -45.2, dwpt: -67.6 },\r\n { press: 250, geopotentialHeight: 10215.1783, temp: -44.9, dwpt: -72.9 },\r\n { press: 225, geopotentialHeight: 10919.53673, temp: -45, dwpt: -74.4 },\r\n { press: 200, geopotentialHeight: 11707.10149, temp: -45.1, dwpt: -76.7 },\r\n { press: 175, geopotentialHeight: 12595.24535, temp: -46.5, dwpt: -79.9 },\r\n { press: 150, geopotentialHeight: 13620.54252, temp: -48.1, dwpt: -84.9 },\r\n { press: 125, geopotentialHeight: 14803.10881, temp: -50.8, dwpt: -86.4 },\r\n { press: 100, geopotentialHeight: 16250.22859, temp: -54, dwpt: -88.1 },\r\n { press: 75, geopotentialHeight: 18056.38525, temp: -56.9, dwpt: -88.3 },\r\n { press: 50, geopotentialHeight: 20601.95062, temp: -61, dwpt: -89.4 }\r\n ],\r\n};\r\n\r\nvar myCopy = null;\r\n\r\nvar jsondiffpatchClone = jsondiffpatch.clone;\r\nvar rfdcClone = rfdc();\r\n\r\n///////////////////////////////////////////////////////////////////\r\nfunction recursiveDeepCopy(o) {\r\n var newO,\r\n i;\r\n \r\n if (typeof o !== \u0027object\u0027) {\r\n return o;\r\n }\r\n if (!o) {\r\n return o;\r\n }\r\n \r\n if (\u0027[object Array]\u0027 === Object.prototype.toString.apply(o)) {\r\n newO = [];\r\n for (i = 0; i \u003C o.length; i \u002B= 1) {\r\n newO[i] = recursiveDeepCopy(o[i]);\r\n }\r\n return newO;\r\n }\r\n \r\n newO = {};\r\n for (i in o) {\r\n if (o.hasOwnProperty(i)) {\r\n newO[i] = recursiveDeepCopy(o[i]);\r\n }\r\n }\r\n return newO;\r\n }\r\n//////////////////////////////////////////////////////////////////\r\n// Use https://www.npmjs.com/package/fastest-json-copy\r\n// Instead of the code below! It is the same thing, just minified.\r\nvar isArray=Array.isArray;function fastestJsonCopy(r){if(!r)return r;if(isArray(r)){for(var e=[],o=r.length,t=0;t\u003Co;t\u002B\u002B)e.push(fastestJsonCopy(r[t]));return e}if(\u0022object\u0022==typeof r){var y=Object.keys(r),a=(o=y.length,{});for(t=0;t\u003Co;t\u002B\u002B){var c=y[t];a[c]=fastestJsonCopy(r[c])}return a}return r}\r\n","TestCases":[{"Name":"lodash cloneDeep","Code":"myCopy = _.cloneDeep(MyObject);","IsDeferred":false},{"Name":"JSON.parse(JSON.stringify())","Code":"myCopy = JSON.parse(JSON.stringify(MyObject));","IsDeferred":false}]}