Powiel możliwe:
What is the most efficient way to clone a JavaScript object?JavaScript Object głębokie kopiowanie
mam obiektu takiego:
User = {
name: "user",
settings: {
first: "1",
second: "2"
}
}
i drugi:
user1 = {
name: "user1",
settings: {
second: "3"
}
}
teraz chcę skopiować niestandardowe wartości user1 jest do Użytkownika, używając:
for(var key in user1){
User[key] = user1[key];
}
wynikiem Użytkownik będzie:
User = {
name: "user1",
settings: {
second: "3"
}
}
USER.settings został całkowicie zastąpić, a ja chciałem tylko settings.second do zastąpienia.
Jak to osiągnąć, nie wiedząc, ile obiektów podrzędnych ma obiekt główny?
Użyj rekursji? Czy szukałeś głębokich funkcji Object.copy? – Bergi
Czy można użyć jQuery? –
Z powodu tego, w jaki sposób javascript przekazuje obiekty wokół (przez odniesienie), głębokie kopiowanie zagnieżdżonego obiektu jest w rzeczywistości dość ciężkim doświadczeniem. Postępowałem zgodnie z radą @ Bergi i znajdowałem wcześniejszą. –