Hàm array.slice() trong Javascript
Trong bài này mình sẽ giới thiệu hàm slice trong javascript, đây là hàm dùng để trích xuất một số phần tử trong mảng js.
Hàm sẽ trả về một mảng mới, còn mảng cũ thì không bị ảnh hưởng. Trước khi đi vào khái niệm thì hãy xem ví dụ mình lấy từ trang Mozilla dưới đây.
const animals = ['ant', 'bison', 'camel', 'duck', 'elephant']; console.log(animals.slice(2)); // output: Array ["camel", "duck", "elephant"] console.log(animals.slice(2, 4)); // output: Array ["camel", "duck"] console.log(animals.slice(1, 5)); // output: Array ["bison", "camel", "duck", "elephant"] console.log(animals.slice(-2)); // output: Array ["duck", "elephant"] console.log(animals.slice(2, -1)); // output: Array ["camel", "duck"]
1. Slice trong javascript là gì?
Hàm slice có chức năng trích xuất một số phần tử của mảng, vị trí bắt đầu và kết thúc việc trích xuất sẽ được xác định bởi tham số truyền vào hàm.
Lưu ý là hàm sẽ trích xuất không bao gồm phần tử end truyền vào. Ví dụ array.slice(1,4)
thì các phần tử được trích xuất sẽ là 1, 2 và 3 (không bao gồm phần tử 4).
Bài viết này được đăng tại [free tuts .net]
Hàm sẽ trả về kết quả là một mảng mới bao gồm các phần tử được trích xuất. Hàm sẽ không làm thay đổi mảng gốc.
Cú pháp hàm slice trong js như sau:
array.slice(start, end)
Trong đó:
start
là vị trí bắt đầu trích xuất.end
là vị trí kết thúc, kết quả sẽ không bao gồm phần tử end.- Hàm sẽ return về một mảng mới.
- Nếu
start
vàend
là giá trị âm thì nó sẽ tính từ cuối mảng trở về đầu mảng.
Ví dụ: Lấy một vài phần tử trong mảng hiện có.
let fruits = ['Chuối', 'Cam', 'Chanh', 'Táo', 'Xoài']; // Lấy hai phần tử Cam và Chanh trong mảng fruits // Ta phải nhập 1,3 vì phần tử cuối cùng không được tính. let citrus = fruits.slice(1, 3); // fruits chứa ['Chuối', 'Cam', 'Chanh', 'Táo', 'Xoài']; // citrus chứa ['Cam','Chanh'];
2. Một ví dụ thực hành với slice trong javascript
Ví dụ: sử dụng hàm array.slice để trích xuất nội dung của mảng ban đầu.
<button onclick="myFunction()">In</button> <p id="demo"></p> <script> demoP = document.getElementById("demo"); var subject = ["html", "php", "php", "c#", "python", "androi", "ios"]; document.getElementById("demo").innerHTML = subject; function myFunction(item, index) { var slice = subject.slice(1, 4); document.getElementById("demo").innerHTML = slice; } </script>
Trên là cú pháp và cách sử dụng hàm slice trong javascript. Đây là hàm tương đối dễ học nên mình không cho nhiều ví dụ.