Hướng dẫn dùng array.slice js trong PHP

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ướng dẫn dùng array.slice js trong PHP

Hướng dẫn dùng array.slice js trong PHP

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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:

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 startend 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.


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ụ.

Tìm hiểu về hàm array_slice trong PHP với các ví dụ đơn giản dễ hiểu ngay sau đây.

Array trong PHP là mảng chứa nhiều giá trị cùng một lúc. Chẳng hạn bạn có một danh sách ô tô khi biểu diễn dưới dạng mã sẽ như thế này array(“Volvo”“BMW”“Toyota”).

Trong một số trường hợp chúng ta cần cắt mảng để sử dụng. Lúc này bạn sẽ cần tới hàm Hàm array_slice trong PHP.

Hướng dẫn hàm array_slice trong PHP

Hàm array_slice sẽ cắt bỏ phần tử của mảng, giữ lại những phần tử được chọn.

Cú pháp:

array_slice($array, $offset [, $lenght, $reoder]);

Trong đó:

  • $array: là mảng truyền vào
  • $offset đây là vị trí của phần tử đầu tiên sẽ được giữ lại.
  • $lenght đây là số phần tử sẽ được giữ lại.
  • $reoder đây là tham số kiểu boolean, nếu bằng TRUE thì hàm sẽ giữ nguyên khóa của các phần tử, ngược lại sẽ thay đổi các khóa của các phần tử được giữ lại.

Ví dụ:

Kết quả:

Array ( [0] => blue [1] => yellow [2] => brown )

Vị trí bắt đầu của một mảng sẽ là 0. Như ví dụ trên thì bắt đầu 0 là red, như vậy là array_slice($a,2) sẽ bắt đầu tử blue.

Cũng với ví dụ trên bạn sẽ thay bằng

print_r(array_slice($a,3,4));
  • 3 là vị trí bắt đầu cắt
  • 4 là vị trí kết thúc mảng cần cắt

Kết luận: Với hàm array_slice bạn đã biết thêm một phần kiến thức về mảng rồi. Tuy đơn giản nhưng sẽ có một lúc nào đó bạn cần dùng tới nó. Hãy đọc và thực hành để ghi nhớ nhé.

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)

Hướng dẫn dùng array.slice js trong PHP

Hướng dẫn dùng array.slice js trong PHP

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.

Hướng dẫn dùng array.slice js trong PHP

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

Hướng dẫn dùng array.slice js trong PHP

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

Hướng dẫn dùng array.slice js trong PHP

Với index bắt đầu nhận vào là undefined nó sẽ hiểu là 0 (em cũng lại javascript)

Hướng dẫn dùng array.slice js trong PHP

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

Hướng dẫn dùng array.slice js trong PHP

Chưa đủ thú vị? Vậy truyền vào số âm thì sao?

Hướng dẫn dùng array.slice js trong PHP

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.

Hướng dẫn dùng array.slice js trong PHP

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)

Hướng dẫn dùng array.slice js trong PHP

Đối với String thì cũng cách dùng cũng tương tự như Array (mai quá!)

Hướng dẫn dùng array.slice js trong PHP

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
  • Sự khác nhau của bộ 3 Slice, Splice và Split trong Javascript

Xem thêm các việc làm JavaScript hấp dẫn tại TopDev