Tôi đang cố gắng tạo một hàm sao chép một mảng các mảng. Tôi đã thử blah.slice (0); nhưng nó chỉ sao chép các tham chiếu. Tôi cần tạo một bản sao để nguyên bản gốc.Cách sao chép hoặc sao chép một mảng các mảng
tôi thấy phương pháp mẫu thử nghiệm này tại http://my.opera.com/GreyWyvern/blog/show.dml/1725165
Object.prototype.clone = function() {
var newObj = (this instanceof Array) ? [] : {};
for (i in this) {
if (i == 'clone') continue;
if (this[i] && typeof this[i] == "object") {
newObj[i] = this[i].clone();
} else newObj[i] = this[i]
} return newObj;
};
Nó hoạt động, nhưng messes lên một plugin jQuery Tôi đang sử dụng - vì vậy tôi cần bật nó lên một chức năng ... và đệ quy không phải là của tôi mạnh nhất.
Trợ giúp của bạn sẽ được đánh giá cao!
Chúc mừng,
Hãy chắc chắn để tuyên bố "tôi" với 'var'! Cũng rất nguy hiểm khi lặp qua một mảng với vòng lặp 'for ... in' - an toàn hơn nhiều khi sử dụng các chỉ mục số. – Pointy
Xem: http://stackoverflow.com/questions/565430/deep-copying-an-array-using-jquery –