Dường như không có cách nào để mở rộng một mảng JavaScript hiện có với một mảng khác, tức là mô phỏng extend
phương thức của Python .
Tôi muốn đạt được những điều sau đây:
>>> a = [1, 2]
[1, 2]
>>> b = [3, 4, 5]
[3, 4, 5]
>>> SOMETHING HERE
>>> a
[1, 2, 3, 4, 5]
Tôi biết có một a.concat(b)
phương thức, nhưng nó tạo ra một mảng mới thay vì chỉ mở rộng cái đầu tiên. Tôi muốn một thuật toán hoạt động hiệu quả khi a
lớn hơn đáng kể so với b
( thuật toán không sao chép a
).
Lưu ý: Đây không phải là bản sao của Cách nối một thứ gì đó vào một mảng? - mục tiêu ở đây là thêm toàn bộ nội dung của một mảng vào mảng khác và thực hiện "tại chỗ", tức là không sao chép tất cả các thành phần của mảng mở rộng.
a.push(...b)
. Khái niệm này tương tự như câu trả lời hàng đầu, nhưng được cập nhật cho ES6.