Deep Cloning Arrays
JS · Arrayssyntax
structuredClone(value)
example
const original = [
{ name: "Ava", scores: [90, 85] },
{ name: "Leo", scores: [78, 92] },
];
const clone = structuredClone(original);
clone[0].scores.push(100);
console.log(original[0].scores);
console.log(clone[0].scores);
Note structuredClone handles nested objects, arrays, Maps, Sets, Dates, RegExps, and more. Does NOT clone functions, DOM nodes, or prototypes.
Deep Cloning Objects
JS · Objectssyntax
structuredClone(obj)
example
const original = {
user: { name: "Kai", tags: ["admin", "editor"] },
updatedAt: new Date(),
};
const clone = structuredClone(original);
clone.user.tags.push("viewer");
console.log(original.user.tags);
Note Handles circular references, Dates, Maps, Sets, ArrayBuffers, and more. Does NOT clone functions, Errors, or DOM nodes.
syntax
const clone = structuredClone(value);
example
const original = {
name: "Ava",
scores: [95, 88, 72],
metadata: { joined: new Date("2024-01-15") },
};
const clone = structuredClone(original);
clone.scores.push(100);
clone.metadata.joined.setFullYear(2025);
console.log(original.scores);
console.log(original.metadata.joined);
Note Built-in deep clone that handles Dates, Maps, Sets, RegExps, ArrayBuffers, circular references. Cannot clone functions, DOM nodes, or Error objects.