Sto usando js/jQuery e sto tentando di creare un vero clone - Attualmente sto usando jQuery per questo. Mi aspetterei che negli oggetti multi-livello anche gli oggetti figlio dovrebbero essere clonati in profondità, ma sembra che non sia così. Di seguito è riportato il mio codice di test e out put che mi porta a credere che il clone di jQuery non in realtà cloni tutti gli oggetti figlio.jQuery deep clone non è ricorsivo
qualcuno ha scritto una vera funzione di clonazione profonda o esiste un modo per rendere il lavoro di jQuery come previsto?
Codice:
function deepClone (obj) {
return $.extend(true, {}, obj);
};
var orig = {};
orig.companyData = {};
orig.companyData.TEST= 1;
var deep1 = deepClone(orig);
deep1.companyData.TEST= 0;
var deep2 = deepClone(orig);
console.log("orig: " + orig.companyData.TEST);
console.log("deep1: " + deep1.companyData.TEST);
console.log("deep2: " + deep2.companyData.TEST);
Console in uscita:
Nota: mi aspetto 1, 0, 1
0
0
0
È possibile aggiungere il codice in cui sono definiti orig e companyData? – Chitrang
@Chitrang l'ha aggiunto ora –
Sembra funzionare come previsto ... https://jsfiddle.net/ufm3vyvL/ –