Tôi đang cố gắng sao chép sâu mảng các đối tượng lồng nhau trong javascript. Mảng của tôi trông giống như thế nàyMảng sao chép sâu của các đối tượng lồng nhau trong javascript
var arr = [{name:"adam",age:"21"},
{name:"freddie",age:"35",children:[{name:"mercury",age:"25"}]},
{name:"jim",age:"35",children:[{name:"morrison",age:"25",children:[{name:"some", age:"40"}]}]}
];
Tôi muốn tạo bản sao sâu của mọi đối tượng bên trong mảng mà tôi muốn tạo bản sao chính xác của mảng vào mảng mới mà không có tham chiếu đối tượng. Độ sâu của mảng cũng không rõ là mảng con có thể tối đa bất kỳ mức nào. Tôi đã đi qua liên kết này Copying of an array of objects to another Array without object reference in javascript(Deep copy) nhưng điều đó không giúp tôi. Tôi googled và tìm thấy một số giải pháp trong jQuery nhưng điều đó đã không giúp tôi như tôi không có kiến thức về jQuery.
Tôi cũng đã cố gắng thực hiện nó với đệ quy nhưng điều đó không làm việc quá http://ideone.com/kJi5X3
Tôi muốn làm điều đó trong javascript chỉ mà không sử dụng jQuery hoặc bất cứ điều gì. Tôi mới vào JavaScript vì vậy tôi có thể đã bỏ lỡ nếu có bất kỳ thư viện hoặc phương pháp đơn giản để làm điều này. Hãy giúp tôi giải quyết vấn đề này. Cảm ơn trước.
Bạn đã liên kết với câu hỏi rằng điều này có thể đã bị đóng và trùng lặp và cho biết điều đó không hữu ích - bạn có thể làm rõ _why_ nó không hữu ích, vì vậy chúng tôi hiểu tại sao điều này không trùng lặp với câu hỏi đó? –
Cũng lưu ý rằng jQuery là _just một thư viện javascript_, nếu có một giải pháp jQuery, bạn có quyết định ra rằng thư viện trong khi một số khác sẽ được chấp nhận? –
@ James Thorpe - Không có tôi đang tự hỏi nếu có bất kỳ cách nào để làm điều đó với đệ quy hoặc bất kỳ logic khác tôi không có kiến thức về jQuery và tôi muốn làm điều này càng sớm càng tốt. – user2912611