Lấy phần tử cuối cùng của danh sách/mảng là một thao tác phổ biến. Trong hướng dẫn này, chúng ta sẽ xem cách lấy phần tử cuối cùng trong một mảng/danh sách JavaScript
JavaScript là ngôn ngữ được gõ yếu hoặc không được gõ, điều đó có nghĩa là loại biến không cần phải được khai báo trước khi sử dụng nó, vì JavaScript xác định loại bằng cách đọc giá trị của biến
console.log[myList.length]
6 được đánh giá và console.log[myList.length]
7 được gán cho loại Chuỗi. Quy trình tương tự cũng áp dụng cho danh sách - bạn không cần xác định loại danh sách, bạn chỉ cần điền vào danh sách các giá trịMột danh sách được xác định bằng cách đặt các phần tử vào giữa các dấu ngoặc vuông [
console.log[myList.length]
8], trong đó các phần tử có thể không đồng nhất [không nhất thiết phải cùng loại]var myList = ["Peter", "Smith", 25, 23, "Random String", 10]
JavaScript có rất nhiều phương thức tích hợp có thể được sử dụng để thao tác với các danh sách như thế này. Đây là những cái chúng ta sẽ sử dụng để lấy phần tử cuối cùng
Nhận phần tử cuối cùng bằng cách sử dụng độ dài
Thuộc tính
console.log[myList.length]
9 của danh sách biểu thị số phần tử trong danh sáchconsole.log[myList.length]
Lập chỉ mục phần tử trong mảng/danh sách trong JavaScript rất giống với các ngôn ngữ khác. Chúng ta có thể truy cập một phần tử, dựa trên chỉ mục của nó, bằng cách đặt nó trong dấu ngoặc vuông
console.log[myList.length]
8, tham chiếu đến mảng. Phần tử cuối cùng có chỉ số là var lastElement = myList[myList.length - 1];
console.log[lastElement];
1Vì trường
console.log[myList.length]
9 chỉ trả về giá trị đã lưu của các phần tử - đây là một thao tác nhanh, hiệu quả và rẻ. Cách tốt nhất để lấy phần tử cuối cùng của mảng/danh sách JavaScript làvar lastElement = myList[myList.length - 1];
console.log[lastElement];
Kết quả này trong
10
Nhận phần tử cuối cùng bằng cách sử dụng pop[]
Phương thức
var lastElement = myList[myList.length - 1];
console.log[lastElement];
3 trả về phần tử cuối cùng của tập hợp, nhưng loại bỏ nó trong quá trình. Mặc dù vậy, nếu chúng ta sử dụng toán tử trải rộng từ ES6 - chúng ta có thể tránh chức năng này bằng cách sao chép tạm thời danh sách vào bộ nhớ và thực hiện var lastElement = myList[myList.length - 1];
console.log[lastElement];
3 trên bản sao, giữ nguyên danh sách ban đầuPhương thức pop[]
Hãy
var lastElement = myList[myList.length - 1];
console.log[lastElement];
3 yếu tố cuối cùng ra khỏi danh sáchvar lastElement = myList.pop[];
console.log[lastElement]
console.log[myList]
Điều này dẫn đến danh sách bị cắt ngắn của phần tử đó
10
["Peter", "Smith", 25, 23, "Random String"]
Nếu bạn không cần giữ nguyên danh sách ban đầu, thì bạn có thể loại bỏ các phần tử khỏi danh sách đó, nhưng nếu bạn cần danh sách gốc, bạn có thể tạo một bản sao và
var lastElement = myList[myList.length - 1];
console.log[lastElement];
3 từ danh sách đópop[] với Toán tử Trải rộng ES6'
ES6 là viết tắt của EcmaScript6, đây là một tiêu chuẩn JavaScript được sử dụng để lập trình bằng JavaScript dễ dàng hơn [viết mã ít hơn nhưng làm được nhiều việc hơn]
Nó được thành lập vào năm 1997 và bước đột phá lớn đầu tiên là vào năm 2015, với tiêu chuẩn ES6 [hoặc EcmaScript2015]. Phiên bản mới nhất là phiên bản thứ 11, được phát triển vào năm 2020. Tất cả các phiên bản đều nhằm giúp viết mã dễ dàng hơn trong JavaScript [với các quy tắc cú pháp mới, từ khóa mới, v.v. ]
Tính năng mà chúng ta có thể tận dụng ở đây là toán tử chênh lệch [_______7_______7]
Trong số các tính năng khác, toán tử trải phổ có thể sao chép danh sách/mảng
[...myList]
Điều này tạo ra một danh sách mới, với các yếu tố tương tự như
var lastElement = myList[myList.length - 1];
console.log[lastElement];
8. Điều đó đang được nói - chúng ta có thể var lastElement = myList[myList.length - 1];
console.log[lastElement];
3 từ danh sách mới thay vì danh sách ban đầuHãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó
console.log[[...myList].pop[]]
console.log[myList]
Kết quả này trong
10
["Peter", "Smith", 25, 23, "Random String", 10]
Ghi chú. Điều này có thể thuận tiện để viết, nhưng không phải là giải pháp rẻ nhất, vì nó sao chép một danh sách. Đối với các danh sách nhỏ, nó không làm giảm hiệu suất nhiều, nhưng với các danh sách dài hơn, đây là một cách không hiệu quả để lấy phần tử cuối cùng
Nhận phần tử cuối cùng bằng slice[]
Phương thức
10
0 'cắt' mảng từ điểm 10
1 đến điểm 10
2 - cho rằng 10
1 và 10
4 là các số nguyên. Theo một cách toán học hơn, bạn có thể nhìn vào lát cắt như thế này. 10
5 - phần tử tại 10
1 được bao gồm, trong khi phần tử tại 10
4 thì khôngconsole.log[myList.slice[1, 4]]
Điều này dẫn đến một lát của mảng ban đầu
console.log[myList.length]
0Phương thức
10
8 cũng chấp nhận lập chỉ mục phủ định - trong đó nó lặp lại bộ sưu tập ngược lại. Vì vậy, nếu chúng ta 10
9, phép lặp sẽ bắt đầu từ phần tử thứ ba từ phía sau và kết thúc ở phần tử trước phần tử cuối cùng [vì var lastElement = myList.pop[];
console.log[lastElement]
console.log[myList]
0 không bao gồm điểm 10
4]Điều này cho phép chúng tôi chỉ cần thêm một phần tử cuối cùng, từ cuối danh sách đến
10
8console.log[myList.length]
1Kết quả nào trong
console.log[myList.length]
2Đây vẫn là một mảng, vì vậy để lấy phần tử này, chúng ta truy cập nó bằng _____14_______3 - sẽ trả về phần tử của chúng ta
console.log[myList.length]
3Ghi chú.
10
8 được sử dụng tốt nhất khi bạn muốn truy xuất N phần tử cuối cùng của một mảng, thay vì một, vì bạn chỉ cần sử dụng var lastElement = myList[myList.length - 1];
console.log[lastElement];
1 thay thếNhận phần tử cuối cùng bằng cách sử dụng đảo ngược[]
Phương pháp
var lastElement = myList.pop[];
console.log[lastElement]
console.log[myList]
6 đảo ngược danh sách tại chỗ. Phần tử cuối cùng sẽ trở thành phần tử đầu tiên và ngược lạiconsole.log[myList.length]
4đầu ra sẽ là
console.log[myList.length]
5Bây giờ phần tử của chúng ta là phần tử đầu tiên, vì vậy chúng ta có thể truy cập phần tử đó bằng
var lastElement = myList.pop[];
console.log[lastElement]
console.log[myList]
7Ghi chú. Đảo ngược một mảng/danh sách cũng là một hoạt động có khả năng rất tốn kém. Tránh đảo ngược bộ sưu tập nếu điều duy nhất bạn muốn làm là truy cập phần tử cuối cùng. Nếu bạn vẫn muốn đảo ngược nó - bạn có thể truy cập phần tử như thế này. Nếu không, hãy tham khảo cách tiếp cận đầu tiên của việc sử dụng
var lastElement = myList[myList.length - 1];
console.log[lastElement];
1Phần kết luận
Phương pháp rẻ nhất, hiệu quả nhất và có lẽ là trực quan nhất trong số này là phương pháp đầu tiên -
var lastElement = myList.pop[];
console.log[lastElement]
console.log[myList]
9. Đây là những gì bạn sẽ sử dụng hầu hết thời gianSử dụng
var lastElement = myList[myList.length - 1];
console.log[lastElement];
3 loại bỏ phần tử khỏi danh sách và trả về nó. Nếu bạn muốn xóa phần tử - đây là phương pháp bạn sẽ muốn sử dụng, vì nếu không, bạn sẽ phải xóa phần tử theo cách thủ công10
8 cho chúng ta một lát cắt, đây là một cách tuyệt vời nếu chúng ta muốn lấy N phần tử cuối cùngvar lastElement = myList.pop[];
console.log[lastElement]
console.log[myList]
6 đảo ngược mảng tại chỗ và nên tránh nếu bạn chỉ muốn lấy một phần tử. Tuy nhiên, nếu bạn đang đảo ngược mảng, thì điều này không tốn thêm bất kỳ chi phí nào