Hàm Array splice() trong Javascript
Bài này chúng ta sẽ tìm hiểu hàm splice trong javascript. Splice javascript là hàm dùng để thay thế một số phần tử trong mảng bằng phần tử khác.
Hàm splice sẽ thay thế một hoặc một số phần tử của mảng bằng một hoặc một số phần tử khác, lưu ý rằng số phần tử bị bỏ đi có thể ít hơn số phần tử được thêm vào và ngược lại.
Splice javascript sẽ thay đổi các phần tử trong mảng bằng cách xóa bỏ hoặc thay thế các phần tử hiện có, hoặc thêm phần tử mới vào vị trí xác định.
Nếu bạn muốn tham khảo bằng một ví dụ đơn giản thì hãy xem ví dụ dưới đây.
Bài viết này được đăng tại [free tuts .net]
// Lưu ý: Chỉ mục bắt đầu từ 0. Vị trí 1 tức là chỉ mục 1 => là phần tử thứ 2 let months = ['Jan', 'March', 'April', 'June']; // Thêm tại vị trí 1, không xóa phần tử nào. months.splice(1, 0, 'Feb'); console.log(months); // output: ["Jan", "Feb", "March", "April", "June"] months = ['Jan', 'March', 'April', 'June']; // Xóa 2 phần tử bắt đầu từ vị trí 1 (tức phần tử thứ 2), // Lúc này mảng sẽ còn ['Jan', 'June'] // Sau đó thêm vào vị trí 1 phần tử "may" months.splice(1, 2, 'May'); console.log(months); // output: ["Jan", "May", "June"]
1. Hàm splice trong javascript là gì?
Splice javascript là hàm dùng để xóa các phần tử trong mảng, hoặc thay thế một phần tử trong mảng thành một hoặc nhiều phần tử khác. Nói cách khác:
- Bạn có thể dùng hàm array splice để xóa phần tử.
- Hoặc dùng để bổ sung phần tử vào một vị trí nào đó trong mảng.
Cú pháp như sau:
splice(start) splice(start, deleteCount) splice(start, deleteCount, item1) splice(start, deleteCount, item1, item2, itemN)
Trong đó:
start
- là vị trí chỉ mục bắt đầu thay thế.deleteCount
- là số phần tử sẽ bị lại bỏ, tính tử vị trí chỉ mụcstart
, và bao gồm cả phần tửstart
. Nếustart
mang giá trị 0 thì sẽ không có phần tử nào bị loại bỏ.item1,., itemN
- các phần tử sẽ được thêm vào từ vị trístart
. Sau khi thêm, phần tử thứstart
của mảng sẽ làitem1
.
Giá trị trả về: Là một mảng chứa tất cả những phần tử đã bị xóa. Nếu chỉ xóa một phần tử thì sẽ return về mảng có 1 phần tử. Nếu không có phần tử nào bị xóa thì sẽ return về mảng rỗng.
2. Các ví dụ với hàm splice trong javascript
Ví dụ 1: Sử dụng splice javascript để bổ sung một phần tử vào vị trí chỉ mục 2, không xóa phần tử nào.
let myFish = ['angel', 'clown', 'mandarin', 'sturgeon'] let removed = myFish.splice(2, 0, 'drum') console.log(myFish); // Kết quả: ["angel", "clown", "drum", "mandarin", "sturgeon"] console.log(removed); // Kết quả []
Ví dụ 2: Cũng tại vị trí chỉ mục 2, hãy bổ sung thêm hai phần tử.
let myFish = ['angel', 'clown', 'mandarin', 'sturgeon'] let removed = myFish.splice(2, 0, 'drum', 'guitar') console.log(myFish ) // Kết quả: ["angel", "clown", "drum", "guitar", "mandarin", "sturgeon"] console.log(removed) // Kết quả: []
Ví dụ 3: Xóa 1 phần tử tại chỉ mục 2, và thêm vào phần tử "trumpet"
let myFish = ['parrot', 'anemone', 'blue', 'trumpet', 'sturgeon'] let removed = myFish.splice(2, 2) console.log(myFish ) // Kết quả:["parrot", "anemone", "sturgeon"] console.log(removed) // Kết quả:["blue", "trumpet"]
Ví dụ 4: Sử dụng phương thức splice để thay thế một đoạn của mảng.
<button onclick="myFunction()">Run</button> <p id="demo"></p> <script> var subject = ["php", "css", "html", "js"]; document.getElementById("demo").innerHTML = subject; function myFunction() { subject.splice(1, 1, "python", "c#", "ios"); document.getElementById("demo").innerHTML = subject; } </script>
Như vậy là mình đã hướng dẫn xong cách sử dụng hàm splice trong javascript.