javascript
глубокое копирование массива:
let c = [1, { a: 3 }, [1, [2, 3]], {b: {b: 3}}]; let b = c.map(function deepClone(el, i, arr) { if (Array.isArray(el)) return el.map(deepClone); else if (typeof el == 'object' && typeof el !== 'function') { function cloneObj(elem) { let obj = {}; for (const key in elem) { if (Array.isArray(elem[key])) obj[key] = el.map(deepClone) else if (typeof elem[key] == 'object') { obj[key] = { ...cloneObj(obj[key]) } } else { obj[key] = elem[key]; } return obj; } } return cloneObj(el); } else return el; }) console.log(b) console.log(c[1] == b[1]) console.log(c[2][1] == b[2][1]); console.log(c[3].b == b[3].b);
(ваш голос учтен)