Test name | Executions per second |
---|---|
Lodash CloneDeep | 112235.8 Ops/sec |
Json Clone | 122024.3 Ops/sec |
structured Clone | 64570.6 Ops/sec |
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
const myObject = {
level1Key1: {
level2Key1: {
level3Key1: "value1",
level3Key2: "value2",
level3Key3: "value3",
level3Key4: "value4",
level3Key5: "value5"
},
level2Key2: {
level3Key6: "value6",
level3Key7: "value7",
level3Key8: "value8",
level3Key9: "value9",
level3Key10: "value10"
},
level2Key3: {
level3Key11: "value11",
level3Key12: "value12",
level3Key13: "value13",
level3Key14: "value14",
level3Key15: "value15"
}
},
level1Key2: {
level2Key4: {
level3Key1: "value1",
level3Key2: "value2",
level3Key3: "value3",
level3Key4: "value4",
level3Key5: "value5"
},
level2Key5: {
level3Key6: "value6",
level3Key7: "value7",
level3Key8: "value8",
level3Key9: "value9",
level3Key10: "value10"
},
level2Key6: {
level3Key11: "value11",
level3Key12: "value12",
level3Key13: "value13",
level3Key14: "value14",
level3Key15: "value15"
}
},
level1Key3: {
level2Key7: {
level3Key1: "value1",
level3Key2: "value2",
level3Key3: "value3",
level3Key4: "value4",
level3Key5: "value5"
},
level2Key8: {
level3Key6: "value6",
level3Key7: "value7",
level3Key8: "value8",
level3Key9: "value9",
level3Key10: "value10"
},
level2Key9: {
level3Key11: "value11",
level3Key12: "value12",
level3Key13: "value13",
level3Key14: "value14",
level3Key15: "value15"
}
}
};
console.log(tripleNestedObject);
myCopy = JSON.parse(JSON.stringify(myObject));
myCopy = JSON.parse(JSON.stringify(myObject));
myCopy = structuredClone(myObject);