HOME>> học javascript - lập trình javascript cơ bản>>04. mảng trong javascript Show Cắt mảng trong JavaScript (slice)
Hướng dẫn cách cắt mảng trong JavaScript. Bạn sẽ học được cách cắt một phạm vi từ mảng ban đầu và tạo ra một mảng mới trong JavaScript bằng phương thức slice sau bài học này. Để cắt mảng trong JavaScript, chúng ta sẽ sử dụng đến phương thức slice() trong Array Object. Phương thức slice() trong Array Object có tác dụng copy một phạm vi chỉ định trong mảng ban đầu và tạo ra một mảng mới. Bằng cách sử dụng slice(), chúng ta có thể tùy ý cắt ra các phạm vi mình muốn từ mảng ban đầu, thông qua việc chỉ định phạm vi cần cắt. Chúng ta sử dụng phương thức slice trong JavaScript với 3 kiểu cú pháp sau đây: arr.slice(); Trong đó: Phương thức slice trả về một mảng mới được cắt ra từ mảng ban đầu với độ dài đúng bằng hiệu của giá trị end với start. Sau đây chúng ta sẽ cùng thực hành một số ví dụ về cắt mảng trong JavaScript bằng phương thức slice. Nếu chỉ định các đối số start và end nằm trong phạm vi số phần tử của mảng ban đầu, thì các phần tử tương ứng trong phạm vi sẽ được cắt ra như sau: Trong ví dụ này, phạm vi chỉ định cắt nằm trong phạm vi mảng ban đầu, và kết quả chúng ta có mảng mới là một phần của mảng ban đầu như trên. Cắt mảng con có phạm vi nằm ngoài mảng ban đầuNếu chỉ định các đối số start và end nằm ngoài phạm vi số phần tử của mảng ban đầu, thì JavaScript sẽ tự động điều chỉnh lại phạm vi cắt và cắt ra các phần tử trong phạm vi điều chỉnh với quy tắc như sau:
Ví dụ cụ thể: Copy
Lược bỏ đối số khi cắt cắt mảng trong JavaScript bằng slice()Khi sử dụng phương thức slice() để cắt cắt mảng trong JavaScript, chúng ta cũng có thể lược bỏ đi các đối số start và end như trong các ví dụ sau đây: Lược bỏ đối số end trong slice()Khi lược bỏ đối số end trong slice(), độ dài mảng tính bởi array.length sẽ được sử dụng và sẽ tiến hành cắt cho đến hết mảng. Ví dụ: Copy
Lược bỏ cả 2 đối số start và end trong slice()Khi lược bỏ cả 2 đối số start và end trong slice(), khi đó start sẽ bằng 0, end sẽ bằng độ dài mảng, do đó một mảng mới hoàn toàn giống với mảng ban đầu sẽ được cắt ra. Ví dụ: Copy
Cắt mảng 2 chiều trong JavaScriptChúng ta cũng có thể sử dụng phương thức slice() để cắt mảng 2 chiều trong JavaScript. Ví dụ cụ thể: Copy
Tuy nhiên cần lưu ý là nếu chúng ta sử dụng phương thức slice() để cắt mảng 2 chiều trong JavaScript, giữa mảng kết quả và mảng ban đầu sẽ tồn tại mối quan hệ tham chiếu. Do đó khi thay đổi giá trị của một trong chúng thì mảng còn lại cũng sẽ thay đổi theo. Ví dụ khi chúng ta thay đổi giá trị của mảng result ở trên, mảng src cũng sẽ bị thay thế như sau đây: Copy
Lưu ý khi cắt mảng trong JavaScript bằng sliceNhư đã phân tích ở trên thì nếu mảng đã cho là mảng 1 chiều, phương thức slice() không làm thay đổi mảng ban đầu đó, mà về thực chất là copy phần muốn cắt ra từ mảng ban đầu để tạo ra một mảng hoàn toàn mới. Do vậy giữa mảng ban đầu và mảng kết quả không có mối quan hệ tham chiếu và hoàn toàn độc lập với nhau, nên việc thay đổi 1 trong 2 mảng cũng không ảnh hưởng đến mảng còn lại. Tuy nhiên nếu sử dụng slice để cắt mảng 2 chiều trong JavaScript, giữa mảng kết quả và mảng ban đầu sẽ tồn tại mối quan hệ tham chiếu. Do đó khi thay đổi giá trị của một trong chúng thì mảng còn lại cũng sẽ thay đổi theo. Do đó chúng ta chỉ nên dùng slice để cắt mảng 1 chiều trong JavaScript mà thôi. Tổng kếtTrên đây Kiyoshi đã hướng dẫn bạn về cách cắt mảng trong JavaScript rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé. Và hãy cùng tìm hiểu những kiến thức sâu hơn về JavaScript trong các bài học tiếp theo. Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tạiCreativecommonsvà DMCA Bài viết liên quan
Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam! HOME>> học javascript - lập trình javascript cơ bản>>04. mảng trong javascript Bài sauToán tử thao tác bit trong JavaScript Bài tiếpPhương thức concat() trong JavaScript
|