Thứ hai, 14/08/2017 | 00:00 GMT+7

Cách sử dụng các phương thức mảng trong JavaScript: Phương thức Accessor

Mảng JavaScript là một kiểu dữ liệu bao gồm một danh sách các phần tử. Có rất nhiều phương pháp tích hợp hữu ích để làm việc với các mảng trong JavaScript. Phương pháp mà sửa đổi các mảng ban đầu được gọi là phương pháp mutator, và phương pháp mà trả về một giá trị mới hoặc đại diện được gọi là phương pháp accessor. Trong hướng dẫn này, ta sẽ tập trung vào các phương pháp truy cập.

Để tận dụng tối đa hướng dẫn này, bạn nên làm quen với việc tạo, lập index , sửa đổi và lặp qua các mảng, bạn có thể xem lại trong hướng dẫn Hiểu Mảng trong JavaScript .

Hướng dẫn này sẽ giới thiệu cho các bạn các phương thức nối các mảng, chuyển đổi mảng thành chuỗi, sao chép các phần của mảng sang mảng mới và tìm các chỉ số của mảng.

Lưu ý: Các phương thức của mảng được viết đúng cách dưới dạng Array.prototype.method() , vì Array.prototype đề cập đến chính đối tượng Array . Để đơn giản, ta sẽ liệt kê tên là method() .

concat ()

Phương thức concat() hợp nhất hai hoặc nhiều mảng với nhau để tạo thành một mảng mới.

Trong ví dụ dưới đây, ta sẽ tạo hai mảng các loại sò và kết hợp chúng thành một mảng mới.

// Create arrays of monovalves and bivalves let monovalves = [ "abalone", "conch" ]; let bivalves = [ "oyster", "mussel", "clam" ];  // Concatenate them together into shellfish variable let shellfish = monovalves.concat(bivalves); 

Khi ta gọi mảng mới, ta sẽ thấy rằng nó bao gồm sự kết hợp của hai mảng ban đầu:

shellfish; 
Output
[ 'abalone', 'conch', 'oyster', 'mussel', 'clam' ]

Phương thức concat() có thể nhận nhiều đối số, cho phép bạn nối nhiều mảng với nhau bằng một phương thức.

tham gia()

Phương thức join() chuyển đổi tất cả các phần tử của mảng thành một chuỗi mới.

let fish = [ "piranha", "barracuda", "koi", "eel" ]; 

Nếu không có đối số nào được đưa ra, kết quả của join() sẽ là một chuỗi được phân tách bằng dấu phẩy và không có thêm khoảng trắng.

// Join the elements of an array into a string let fishString = fish.join();  fishString; 
Output
'piranha,barracuda,koi,eel'

Để bao gồm khoảng trắng hoặc một dấu phân tách khác, bạn có thể thêm một chuỗi của dấu phân tách của bạn làm tham số vào phương thức join() . Tham số này sẽ chứa dấu phân cách bạn muốn giữa mỗi phần tử mảng.

// Join the elements of an array into a string let fishString = fish.join(', ');  fishString; 
Output
'piranha, barracuda, koi, eel'

Trong ví dụ trên, viết ', ' với khoảng trắng phân tách các mục mảng theo kiểu dễ đọc hơn. Một chuỗi trống được cung cấp làm đối số sẽ xóa hoàn toàn các dấu phẩy mặc định.

lát ()

Phương thức slice() sao chép một phần của mảng sang một mảng mới.

let fish = [ "piranha", "barracuda", "koi", "eel" ]; 

Giả sử ta muốn sao chép hai mục cuối cùng trong mảng sang một mảng mới. Ta sẽ bắt đầu với số index của phần tử đầu tiên ta muốn, là 2 cho koi . Ta sẽ kết thúc bằng số index theo sau phần tử cuối cùng ta muốn. Vì phần tử cuối cùng, eel , có chỉ số là 3 , ta sẽ đặt 4 .

// Slice a new array from 2 to 5 let fishWithShortNames = fish.slice(2, 4);  fishWithShortNames; 
Output
[ 'koi', 'eel' ]

Trong trường hợp cụ thể này, vì eel là mục cuối cùng trong mảng, đối số thứ hai thực sự không cần thiết. slice() sẽ bắt đầu ở index đầu tiên và dừng ở cuối mảng nếu không có đối số thứ hai được cung cấp.

// Slice a new array from 2 to the end of the array let fishWithShortNames = fish.slice(2);  fishWithShortNames; 
Output
[ 'koi', 'eel' ]

slice() không được nhầm lẫn với phương thức đột biến splice() , phương thức có thể thêm hoặc xóa các mục khỏi mảng ban đầu.

Chỉ số()

Phương thức indexOf() trả về số index của version đầu tiên của một phần tử.

Trong ví dụ dưới đây, ta có một chuỗi trong đó barracuda được liệt kê hai lần.

let fish = [ "piranha", "barracuda", "koi", "barracuda" ]; 

Ta sẽ sử dụng indexOf() để tìm trường hợp đầu tiên.

// Find the first instance of an element fish.indexOf("barracuda"); 
Output
1

Nếu đối số đã cho là một giá trị không tồn tại trong mảng, console sẽ trả về -1 .

fish.indexOf("shark"); 
Output
-1

Phương thức indexOf() đặc biệt hữu ích trong các mảng chứa nhiều mục.

lastIndexOf ()

Phương thức lastIndexOf() trả về số index của version cuối cùng của một phần tử.

Ta có thể kiểm tra trên cùng một ví dụ từ indexOf() , bao gồm cả barracuda hai lần.

let fish = [ "piranha", "barracuda", "koi", "barracuda" ];  // Find the last instance of an element fish.lastIndexOf("barracuda"); 
Output
3

lastIndexOf() sẽ tìm kiếm mảng bắt đầu từ cuối và trả về số index đầu tiên mà nó tìm thấy.

Kết luận

Trong hướng dẫn này, ta đã xem xét các phương thức mảng trình truy cập tích hợp sẵn chính trong JavaScript. Các phương thức của bộ truy cập tạo ra một bản sao hoặc biểu diễn mới của một mảng, trái ngược với việc thay đổi hoặc sửa đổi bản root .

Ta đã học cách nối các mảng với nhau, kết hợp chúng từ đầu đến cuối, cũng như cách chuyển các mảng thành các chuỗi được phân tách bằng dấu phẩy. Ta cũng đã học cách sao chép các phần của một mảng vào một mảng mới và tìm các chỉ số đầu tiên và cuối cùng của một phần tử nhất định trong một mảng.

Để xem lại kiến thức cơ bản về mảng, hãy đọc Tìm hiểu về mảng trong JavaScript . Để xem danh sách đầy đủ tất cả các phương thức mảng, hãy xem tham chiếu Mảng trên Mạng nhà phát triển Mozilla .


Tags:

Các tin liên quan

Cách sử dụng phương thức mảng trong JavaScript: Phương thức đột biến
2017-08-10
Cách viết chương trình JavaScript đầu tiên của bạn
2017-08-02
Hiểu mảng trong JavaScript
2017-07-28
Làm thế nào để làm toán trong JavaScript với các toán tử
2017-07-20
Cách lập chỉ mục, tách và thao tác chuỗi trong JavaScript
2017-07-14
Object.values và Object.entries trong JavaScript
2017-07-12
Cách làm việc với chuỗi trong JavaScript
2017-07-11
Giới thiệu về Maps bằng JavaScript
2017-07-06
Hiểu cú pháp và cấu trúc mã trong JavaScript
2017-07-05
Cách thêm JavaScript vào HTML
2017-06-30