Hàm Array push() trong Javascript
Trong bài này chúng ta sẽ tìm hiểu cú pháp của hàm array.push() trong javascript, qua đó sẽ giúp bạn biết cách thêm mới một phần tử vào mảng.
Thông thường, muốn thêm một phần tử vào mảng thì bạn phải gán số chỉ mục cho phần tử cần thêm đó. Trường hợp chỉ mục đó đã tồn tại trong mảng thì đó sẽ là một thao tác cập nhật chứ không phải là thêm mới.
Hơn nữa, rất khó để kiểm soát được những chỉ mục nào đã tồn tại. Vì vậy, ta thường thêm phần tử vào vị trí cuối cùng bằng cách sử dụng hàm push() trong js.
1. Cú pháp hàm push trong javascript
Một vài lưu ý quan trọng:
Bài viết này được đăng tại [free tuts .net]
- Hàm push() sẽ thêm mới một hoặc nhiều phần tử vào cuối mảng, hàm trả về chiều dài của mảng mới.
- Hàm push() sẽ làm thay đổi chiều dài của mảng.
- Nếu bạn muốn thêm phần tử vào đầu mảng, sử dụng hàm unshift().
Cú pháp hàm này như sau:
array.push(item1, item2, ..., itemX)
Trong đó:
- tem1, item2, ..., itemX là các phần tử sẽ được thêm vào cuối mảng array.
- Hàm sẽ trả về tổng chiều dài của mảng mới sau khi thêm.
Ví dụ: Một vài thao tác thêm phần tử vào cuối mảng. Đây là ví dụ mình lấy từ trang chủ Mozilla.
const animals = ['pigs', 'goats', 'sheep']; const count = animals.push('cows'); console.log(count); // output: 4 console.log(animals); // output: Array ["pigs", "goats", "sheep", "cows"] animals.push('chickens', 'cats', 'dogs'); console.log(animals); // output: Array ["pigs", "goats", "sheep", "cows", "chickens", "cats", "dogs"]
2. Một ví dụ khác về hàm push trong js
Hãy sử dụng hàm push() để thêm các phần tử vào cuối mảng. Hành động xảy ra khi click vào một button.
<button onclick="myFunction()">In</button> <p id="demo"></p> <script> demoP = document.getElementById("demo"); var subject = ["html", "php", "php", "c#"]; document.getElementById("demo").innerHTML = subject; function myFunction(item, index) { subject.push("python", "androi", "ios"); document.getElementById("demo").innerHTML = subject; } </script>
Như vậy là chúng ta đã tìm hiểu xong cách sử dụng hàm push trong javascrpipt.