Bài viết được sự cho phép của tác giả Lưu Bình An
Phương thức **slice**
(copy cho em một miếng) có thể sử dụng trên 2 kiểu String
và Array
Cách sử dụng cơ bản thì ta có thể truyền vào index bắt đầu, và index kết thúc (kết quả tả về không bao gồm index kết thúc)
Index kết thúc cũng có thể bỏ qua, lúc này nó sẽ hiểu là lấy hết luôn các phần tử còn lại.
Và nếu mà chúng ta truyền giá trị index kết thúc nó lớn hơn chiều dài của mảng, thì nó cũng không lỗi, mà trả về toàn bộ như không truyền vào
Còn vui vui, bạn không truyền vào index bắt đầu luôn, thì nó cũng không lỗi nốt, mà sẽ sao y toàn bộ các phần tử vào mảng mới
Xem thêm các việc làm JavaScript hấp dẫn tại TopDev
Với index bắt đầu nhận vào là undefined
nó sẽ hiểu là 0
(em cũng lại javascript)
Index bắt đầu lớn hơn độ dài của array? Nó sẽ cho ta kết qua là một mảng rỗng
Chưa đủ thú vị? Vậy truyền vào số âm thì sao?
Lúc này nó sẽ được tính theo cơ chế index ngược, các giá trị âm sẽ được tính theo index: thằng cuối cùng là -1, áp cuối là -2, và cứ tiếp tục đi ngược lên.
Chúng ta có thể dùng nó để lấy các phần tử từ phải qua trái (2 phần tử cuối, 3 phần tử cuối, ví dụ vậy)
Đối với String thì cũng cách dùng cũng tương tự như Array (mai quá!)
Mình nghĩ slice
cũng là một trong những phương thức chúng rất hay sử dụng, như trong reducer của redux, dùng nó để sao y một state nào đó. Nên việc nắm vững, thực hành với nó nhiều là điều rất chi cần thiết.
https://dev.to/sandeshgit/understanding-the-slice-method-in-javascript-the-basics-negative-indexing-and-the-concept-of-shallow-copy-3m3i
Bài viết gốc được đăng tải tại vuilaptrinh.com
Có thể bạn quan tâm:
- [Javascript] Những phương thức mà bạn cần biết khi thao tác với mảng
- Tips xử lý Array Javascript hay không phải ai cũng biết
- 6 lý do Async/Await của Javascript đánh bại Promises
Xem thêm tin tuyển dụng lập trình viên mới nhất