thể trùng lặp:
What is the most efficient way to clone a JavaScript object?Javascript đối tượng sao chép sâu
tôi có một đối tượng như thế này:
User = {
name: "user",
settings: {
first: "1",
second: "2"
}
}
và thứ hai:
user1 = {
name: "user1",
settings: {
second: "3"
}
}
bây giờ tôi muốn sao chép giá trị tùy chỉnh user1 của thành tài khoản, sử dụng:
for(var key in user1){
User[key] = user1[key];
}
kết quả tài sẽ là:
User = {
name: "user1",
settings: {
second: "3"
}
}
User.settings đã hoàn toàn thay thế trong khi tôi muốn chỉ settings.second được thay thế.
Làm thế nào để đạt được điều này, mà không biết có bao nhiêu đối tượng con đối tượng chính có?
Sử dụng đệ quy? Bạn đã tìm kiếm các hàm Object.copy sâu chưa? – Bergi
Bạn có thể sử dụng jQuery không? –
Vì javascript truyền các đối tượng xung quanh như thế nào (bằng cách tham chiếu), việc sao chép sâu một đối tượng lồng nhau thực sự là một thử thách. Tôi sẽ làm theo lời khuyên của @ Bergi và tìm một lời khuyên từ trước. –