Phương thức slice
Phương thức slice cắt và trả về
phần đã chỉ định của mảng. Bản thân mảng
không bị thay đổi.
Tham số đầu tiên chỉ định số thứ tự (index) của phần tử mảng, bắt đầu cắt từ đó, và tham số thứ hai - số thứ tự của phần tử, nơi việc cắt sẽ kết thúc (phần tử với số thứ tự này sẽ không được đưa vào phần đã cắt). Tham số thứ hai không bắt buộc. Nếu không chỉ định nó - mảng con sẽ được lấy từ phần tử được chỉ định trong tham số đầu tiên đến cuối mảng.
Nó cũng có thể nhận giá trị
âm. Trong trường hợp này, việc đếm phần tử,
nơi việc cắt sẽ kết thúc, bắt đầu
từ cuối mảng. Phần tử cuối cùng khi đó
sẽ có số thứ tự -1.
Cú pháp
mảng.slice(vị trí bắt đầu cắt, [vị trí kết thúc cắt]);
Ví dụ
Hãy cắt từ mảng các phần tử từ phần tử thứ 0 đến phần tử thứ 2 không bao gồm (phần tử thứ 2 sẽ không bị cắt):
let arr = ['a', 'b', 'c', 'd', 'e'];
let sub = arr.slice(0, 2);
console.log(sub);
Kết quả thực thi mã:
['a', 'b']
Ví dụ
Hãy cắt từ phần tử thứ nhất đến cuối mảng. Để làm điều này, không chỉ định tham số thứ hai:
let arr = ['a', 'b', 'c', 'd', 'e'];
let sub = arr.slice(1);
console.log(sub);
Kết quả thực thi mã:
['b', 'c', 'd', 'e']
Ví dụ
Hãy cắt các phần tử từ phần tử thứ hai đến phần tử áp chót
(-1 chỉ phần tử cuối cùng và nó
sẽ không được đưa vào phần đã cắt):
let arr = ['a', 'b', 'c', 'd', 'e'];
let sub = arr.slice(1, -1);
console.log(sub);
Kết quả thực thi mã:
['b', 'c', 'd']
Ưu điểm của cách tiếp cận này là luôn luôn cắt một phần mảng, không bao gồm phần tử cuối cùng, bất kể kích thước của mảng.