Tìm hiểu một số cách để nối các mục vào một mảng bằng JavaScript
Để nối một mục vào một mảng, bạn có thể sử dụng push()
của JavaScript hoặc concat()
tùy thuộc vào ngữ cảnh. Cả hai phương pháp đều được cung cấp bởi đối tượng Mảng JavaScript.
Tôi sẽ chỉ cho bạn cách thức và lý do sử dụng cả hai phương pháp trong thực tế.
Nối một mục vào một mảng
Hãy thêm một loại rau vào danh sách (mảng) rau hiện có:
const vegetables = ["broccoli", "onion", "spinach"]
vegetables.push("carot")
Bây giờ bạn có thể in ra kết quả:
console.log(vegetables)
// ["broccoli", "onion", "spinach", "carot"]
Lưu ý:vegetables
mảng đã được sửa đổi.
Nối nhiều mục vào một mảng
Để nối nhiều mục vào một mảng, bạn cũng có thể sử dụng push()
, bạn chỉ cần thêm nhiều đối số, được phân tách bằng dấu phẩy:
const vegetables = ["broccoli", "onion", "spinach"]
vegetables.push("carot", "green beans", "kale")
Lưu ý:vegetables
mảng đã được sửa đổi.
Sửa đổi mảng so với mảng mới / push () so với concat ()
Như đã lưu ý ở trên, push()
phương thức sửa đổi mảng ban đầu. Thay vào đó, nếu bạn muốn tạo một mới mảng dựa trên bản gốc và nối (các) mục mới vào đó, sau đó sử dụng Mảng JavaScript concat()
phương pháp:
const vegetables = ["broccoli", "onion", "spinach"]
const newVegetables = vegetables.concat("carot")
Bây giờ hãy thử in ra cả hai biến:
console.log(vegetables)
// ["broccoli", "onion", "spinach"]
console.log(newVegetables)
// ["broccoli", "onion", "spinach", "carot", "green beans", "kale"]
Và bạn có thể thấy rằng vegetables
ban đầu mảng là không thay đổi, và newVegetables
chứa một bản sao của vegetables
mảng + carot
chúng tôi đã thêm vào nó bằng concat()
phương pháp.
concat()
phương thức hoạt động giống nhau với nhiều mục, bạn chỉ cần phân tách chúng bằng dấu phẩy, giống như bạn đã làm với push()
ví dụ trước đó:
const vegetables = ["broccoli", "onion", "spinach"]
const newVegetables = vegetables.concat("carot", "green beans", "kale")
Tóm lại:
Điều quan trọng là không nhầm lẫn giữa hai phương thức mảng, vì vậy đây là lời nhắc cuối cùng:
-
push()
sửa đổi mảng ban đầu -
concat()
trả về (tạo) một mảng mới