Trong chương trình trên, giá trị thuộc tính của khóa a
được trích xuất từ mỗi đối tượng của một mảng
Phương thức map[]
được sử dụng để lặp qua tất cả các phần tử của một mảng và trích xuất các giá trị thuộc tính của khóa a
Trong hướng dẫn này, chúng ta sẽ xem xét việc hiểu các phương thức khác nhau để truy cập phần tử cuối cùng của một mảng
Nếu bạn chưa quen với lập trình hoặc JavaScript, chúng tôi khuyên bạn nên đọc qua toàn bộ bài viết. Tuy nhiên, nếu bạn chỉ đang tìm mã, bạn có thể bỏ qua phần mã bên dưới
Một mảng là một đối tượng chứa chứa một số giá trị cố định của một loại. Độ dài của mảng, sau khi được tạo, sẽ không đổi/cố định. Bây giờ chúng ta đã có ý tưởng cơ bản về mảng là gì, hãy tìm phần tử cuối cùng trong một mảng
Làm cách nào để lấy phần tử cuối cùng của một mảng?
Các bước liên quan để lấy phần tử cuối cùng của một mảng là
- Sử dụng mảng
slice[]
để trả về một phần tử cụ thể - Truy xuất phần tử cuối cùng bằng cách sử dụng chỉ số âm
array.slice[-1]
- Lưu phần tử cuối cùng vào một biến
Tiếp tục đọc để tìm hiểu thêm về các phương pháp khác nhau
Mục lục
- Mã số
- Sử dụng thuộc tính độ dài mảng
- Sử dụng phương pháp lát
- Sử dụng phương pháp pop
- Hiệu suất
Mã số
1] Sử dụng thuộc tính độ dài mảng
Thuộc tính độ dài trả về số phần tử trong một mảng. Trừ 1 từ độ dài của một mảng sẽ cho chỉ mục của phần tử cuối cùng của một mảng bằng cách sử dụng phần tử cuối cùng có thể được truy cập. Lý do chúng tôi trừ 1 từ độ dài là, trong JavaScript, việc đánh số chỉ mục mảng bắt đầu bằng 0. tôi. e. Chỉ số của phần tử đầu tiên sẽ là 0. Do đó, chỉ mục của phần tử cuối cùng sẽ là độ dài mảng-1let arry = [2, 4, 6, 8, 10, 12, 14, 16];
let lastElement = arry[arry.length - 1];
console.log[lastElement];
//Output: 16
2] Sử dụng phương thức slice[]
Phương thức slice[] trả về các phần tử cụ thể từ một mảng, dưới dạng một đối tượng mảng mới. Phương thức này chọn các phần tử bắt đầu tại chỉ mục bắt đầu đã cho và kết thúc tại chỉ mục kết thúc đã cho, ngoại trừ phần tử ở chỉ mục kết thúc. Phương thức slice[] không sửa đổi mảng hiện có. Cung cấp một giá trị chỉ mục trả về phần tử tại vị trí đó & giá trị chỉ mục âm sẽ tính toán chỉ mục từ cuối mảng
let arry = [2, 4, 6, 8, 10, 12, 14, 16];
let lastElement = arry.slice[-1];
console.log[lastElement];
//Output: 16
3] Sử dụng phương thức pop[]
Phương thức pop[] bật/xóa phần tử cuối cùng của một mảng và trả về nó. Phương thức này thay đổi độ dài của mảnglet arry = [2, 4, 6, 8, 10, 12, 14, 16];
let lastElement = arry.pop[];
console.log[lastElement];
//Output: 16
Hiệu suất
Bây giờ chúng ta hãy sử dụng cả ba phương thức trên một mảng để lấy phần tử cuối cùng và kiểm tra xem phương thức nào nhanh nhất
let arry = [2, 4, 6, 8, 10, 12, 14, 16];
console.time['array length property'];
let lastElement = arry[arry.length - 1];
console.log[lastElement];
console.timeEnd['array length property'];
console.time['array slice method'];
let lastElement1 = arry.slice[-1];
console.log[lastElement1];
console.timeEnd['array slice method'];
console.time['array pop method'];
let lastElement2 = arry.pop[];
console.log[lastElement2];
console.timeEnd['array pop method'];
//Output:
//16
//array length property: 13.798ms
//[ 16 ]
//array slice method: 8.839ms
//16
//array pop method: 0.138ms
Như bạn có thể thấy, phương thức pop[] là nhanh nhất. Bạn có thể sử dụng nó nếu bạn ổn với việc sửa đổi mảng. Nếu bạn không muốn thay đổi mảng thì có thể sử dụng phương thức slice[]
Để lấy N phần tử đầu tiên của một mảng, hãy gọi phương thức slice[]
truyền nó vào đối số là 0
và N
Ví dụ: arr.slice[0, 2];
trả về một mảng mới chứa hai phần tử đầu tiên của mảng ban đầu
Mảng. phương thức slice trả về một bản sao của một phần của mảng
Phương thức nhận 2 đối số sau
TênMô tảchỉ số bắt đầuChỉ mục của phần tử đầu tiên đưa vào chỉ mục kết thúc mảng được trả vềChỉ mục của phần tử đầu tiên loại trừ khỏi mảng được trả vềChúng tôi đã sử dụng chỉ mục bắt đầu là 0
để bắt đầu trích xuất các phần tử từ đầu mảng
Khi chỉ mục start
là 0
, bạn có thể coi chỉ mục end
là số lượng phần tử mà mảng mới nên chứa
Ví dụ, arr.slice[0, 3]
trả về một mảng mới chứa 3 phần tử đầu tiên của mảng ban đầu [các phần tử mảng tại chỉ số 0
, 0
0 và 0
1]
Chỉ mục kết thúc là độc quyền, vì vậy lát cắt đi lên, nhưng không bao gồm chỉ mục kết thúc đã chỉ định
Nếu chỉ số kết thúc được chỉ định vượt quá độ dài của mảng, phương thức slice[]
không gây ra lỗi, nó sẽ trả về toàn bộ mảng
Chúng tôi đã cố gắng lấy các phần tử 0
3 đầu tiên của một mảng chỉ chứa các phần tử 0
4
Kết quả là mảng mới chứa tất cả 0
4 phần tử của mảng ban đầu
Phương thức slice không thay đổi nội dung của mảng ban đầu, nó trả về một mảng mới
Bạn cũng có thể sử dụng phép gán hủy để lấy N phần tử đầu tiên của một mảng
Nhận N phần tử đầu tiên của Mảng bằng cách sử dụng hàm hủy
Cú pháp gán hàm hủy cho phép chúng ta gán N phần tử đầu tiên của một mảng cho các biến
Biến 0
6 và 0
7 được gán giá trị của phần tử mảng thứ nhất và thứ hai
Khi sử dụng hàm hủy, thứ tự khai báo biến và các phần tử mảng được giữ nguyên. Nó đi từ trái [phần tử ở chỉ số 0] sang phải [chỉ số 1], v.v.
Bạn có thể bỏ qua một phần tử khi phá hủy bằng cách sử dụng dấu phẩy
Chúng tôi đã sử dụng dấu phẩy để bỏ qua phần tử mảng tại chỉ mục 0
và gán phần tử mảng thứ hai và thứ ba cho các biến
Bạn cũng có thể sử dụng vòng lặp 0
9 cơ bản để lấy N phần tử đầu tiên của một mảng
Lấy N phần tử đầu tiên của Array bằng vòng lặp 0
9
Để lấy N phần tử đầu tiên của một mảng
- Khai báo một biến mới lưu trữ một mảng trống
- Sử dụng vòng lặp
0
9 để lặp cho N - 1 lần lặp - Đẩy phần tử tại chỉ mục hiện tại vào mảng mới
Chúng tôi đã sử dụng vòng lặp 0
9 để lặp lại cho _11_______3 lần lặp
Trên mỗi lần lặp, chúng tôi truy cập phần tử mảng tại chỉ mục hiện tại và đẩy nó vào một mảng mới
Mảng. phương thức push thêm phần tử vào cuối mảng
Vòng lặp 0
9 chỉ lặp cho số lần lặp cần thiết
Bạn cũng có thể thấy phương pháp N
5 được sử dụng để lấy N phần tử đầu tiên của một mảng, tuy nhiên, đó không phải là một lựa chọn tốt
Lấy N phần tử đầu tiên của Mảng bằng cách sử dụng N
6
Phương thức N
5 không phù hợp với tác vụ này vì nó lặp lại trên toàn bộ mảng
Hàm chúng tôi đã chuyển đến Mảng. phương thức filter[] được gọi với từng phần tử trong mảng
Trên mỗi lần lặp, chúng tôi kiểm tra xem chỉ số hiện tại có nhỏ hơn N
8 hay không và trả về kết quả
Phương thức N
5 trả về một mảng mới chỉ chứa các phần tử thỏa mãn điều kiện
Tuy nhiên, phương pháp N
5 không phù hợp với nhiệm vụ vì nó tiếp tục lặp lại mảng ngay cả sau khi chúng tôi đã chọn N phần tử đầu tiên
Điều này không tốt cho hiệu suất, đặc biệt là khi làm việc với các mảng lớn có hàng nghìn phần tử
Lấy N phần tử đầu tiên của Mảng bằng cách sử dụng arr.slice[0, 2];
1
Bạn cũng có thể sử dụng phương thức arr.slice[0, 2];
2 từ arr.slice[0, 2];
1 để lấy N phần tử đầu tiên của một mảng
Trước tiên, hãy đảm bảo rằng bạn đã cài đặt arr.slice[0, 2];
1 bằng cách chạy lệnh sau từ thiết bị đầu cuối của bạn
Bây giờ bạn có thể nhập và sử dụng chức năng từ arr.slice[0, 2];
1
Hàm trả về một mảng mới chứa các phần tử N
8 đầu tiên của mảng được cung cấp
Bạn chọn cách tiếp cận nào là vấn đề sở thích cá nhân. Tôi sẽ sử dụng phương pháp arr.slice[0, 2];
7 vì tôi thấy nó khá trực tiếp và trực quan