Vui lòng giải thích điều này cho tôi. Tôi đang cố gắng tạo một mảng các mảng với vòng lặp for. Khi nó không hoạt động, tôi đã thử đơn giản hóa mã để hiểu Javascript đang làm gì, nhưng mã đơn giản cũng không có ý nghĩa.Javascript: đẩy mảng lên mảng với vòng lặp
function test(){
var sub_array = [];
var super_array =[];
for (var i=1;i<=3;i++){
sub_array.push(i);
super_array.push(sub_array);
}
alert(super_array);
}
Tôi hy vọng sẽ thấy [1; 1,2; 1,2,3]. Thay vào đó, tôi nhận được [1,2,3; 1,2,3; 1,2,3]. Tôi nhận được hiện tượng tương tự nếu tôi lặp 0-2 và gán theo chỉ mục.
tại sao bạn lại chọn sử dụng '.slice (0)' để sao chép mảng thay vì '.concat()'? có thể nhanh hơn nhưng tôi đã không chắc chắn về hồ sơ. –
Thú vị, theo [blog này] (http://swingpants.com/2009/03/12/fastest-way-to-copy-an-array-concat-or-slice0/) 'concat()' là nhanh hơn . Tôi sẽ đề cập đến nó trong câu trả lời của tôi. Cảm ơn bạn đã bình luận của bạn :) –