Làm cách nào để lấy một phần của mảng trong JavaScript?

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à

  1. Sử dụng mảng slice() để trả về một phần tử cụ thể
  2. Truy xuất phần tử cuối cùng bằng cách sử dụng chỉ số âm array.slice(-1)
  3. 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-1

let 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ảng

let 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à 0N

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 start0, 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, 00 và 01)

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ử 03 đầu tiên của một mảng chỉ chứa các phần tử 04

Kết quả là mảng mới chứa tất cả 04 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 06 và 07 đượ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 09 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 09

Để lấy N phần tử đầu tiên của một mảng

  1. Khai báo một biến mới lưu trữ một mảng trống
  2. Sử dụng vòng lặp 09 để lặp cho N - 1 lần lặp
  3. Đẩ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 09 để 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 09 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 N5 đượ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 N6

Phương thức N5 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 N8 hay không và trả về kết quả

Phương thức N5 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 N5 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ử N8 đầ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

Làm cách nào để trích xuất dữ liệu cụ thể từ một mảng trong JavaScript?

Có thể thực hiện bằng cú pháp sau. .
1const [,, hai, ba] = [0, 1, 2, 3];
2 // hai = 2
3 // ba = 3
5const [a, ,b,c] = [0, 1, 2, 3];
6//a = 0
7//b = 2
8//c = 3

Làm cách nào để tách một mảng các phần tử trong JavaScript?

Phương thức split() tách một chuỗi thành một mảng các chuỗi con . Phương thức split() trả về mảng mới. Phương thức split() không thay đổi chuỗi gốc. Nếu (" ") được sử dụng làm dấu phân cách, thì chuỗi được phân tách giữa các từ.