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[]
Phương thức values[]
trả về một đối tượng Array Iterator mới chứa các giá trị cho mỗi chỉ mục trong mảng
let languages = ["JavaScript", "Java", "C++"];
// returns an Array Iterator object that contain values
let iteratorObject = languages.values[];
// looping through iterator
for [let value of iteratorObject] {
console.log[value];
}
// Output:
// JavaScript
// Java
// C++
value[] Cú pháp
Cú pháp của phương thức values[]
là
arr.values[]
Ở đây, arr là một mảng
giá trị [] Tham số
Phương thức values[]
không nhận bất kỳ tham số nào
giá trị [] Giá trị trả về
- Trả về một đối tượng trình vòng lặp
2 mớiarr.values[]
ghi chú. Phương thức
arr.values[]
3 không thay đổi mảng ban đầuví dụ 1. Sử dụng phương thức value[]
________số 8_______đầu ra
A B C
Trong ví dụ trên, chúng ta đã sử dụng phương thức
arr.values[]
3 để truy cập các giá trị cho từng chỉ mục trong mảng languagesChúng tôi đã gọi phương thức là
arr.values[]
5 trả về một đối tượng lặp mảng i. e. iteratorObjectSử dụng
arr.values[]
6, sau đó chúng ta lặp qua Đối tượng lặp để in các giá trị của từng chỉ mục của mảngGhi chú. Chúng ta cũng có thể sử dụng
arr.values[]
7 với đối tượng lặp mảng để truy cập các giá trị. Đoạn mã sau in giá trị đầu tiên trong mảngconsole.log[iteratorObject.next[].value];
ví dụ 2. Sử dụng các giá trị [] trong Mảng có lỗ
Phương thức values[]
không bỏ qua các lỗ hổng trong mảng. Nó trả về
arr.values[]
9 cho các vị trí trống trong mảnglet arrayWithHole = ["A", "B", , "C"];
// returns 'undefined' as a value for empty slot
let iteratorObject = arrayWithHole.values[];
// looping through iterator
for [let value of iteratorObject] {
console.log[value];
}
đầu ra
A B undefined C
Ở đây chúng tôi đã gọi phương thức values[]
trong mảng có các vị trí trống
Vì có một ô trống trong chỉ mục thứ ba của
let languages = ["A", "B", "C"];
// returns an iterator object that contain values of languages
let iteratorObject = languages.values[];
// looping through iterator
for [let value of iteratorObject] {
console.log[value];
}
1, nên phương thức này trả về giá trị cho chỉ mục đó là arr.values[]
9ví dụ 3. Tìm hiểu thêm về đối tượng lặp mảng
Đối tượng lặp mảng không lưu trữ giá trị mà lưu trữ địa chỉ của mảng được sử dụng. Ví dụ
let fruits = ["Apple", "Banana", "Grapes"];
// returns values of each index in the fruits array
let iteratorObject = fruits.values[];
// accessing the value of index 0 in the array
console.log[iteratorObject.next[].value]; // Apple
// changing the value of index 1
fruits[1] = "Cherry";
// accessing the value of index 1 in the array
console.log[iteratorObject.next[].value]; // Cherry
đầu ra
Apple Cherry
Trong ví dụ trên, chúng ta đã thay đổi giá trị của chỉ số 1 của mảng trái cây
Vì vậy, khi thay đổi giá trị trong mảng, iterator Object trả về giá trị mới i. e [
let languages = ["A", "B", "C"];
// returns an iterator object that contain values of languages
let iteratorObject = languages.values[];
// looping through iterator
for [let value of iteratorObject] {
console.log[value];
}
3] được lưu trữ tại chỉ mục 1