Chương này giới thiệu các tập hợp dữ liệu được sắp xếp theo giá trị chỉ số. Điều này bao gồm các mảng và các cấu trúc giống như mảng, chẳng hạn như đối tượng
const wisenArray = Array.of[9.3]; // wisenArray contains only one element 9.3
2 và đối tượng const wisenArray = Array.of[9.3]; // wisenArray contains only one element 9.3
3Mảng là một danh sách các giá trị được sắp xếp theo thứ tự mà bạn tham chiếu bằng tên và chỉ mục
Ví dụ: hãy xem xét một mảng có tên là
const wisenArray = Array.of[9.3]; // wisenArray contains only one element 9.3
4, chứa tên của nhân viên được lập chỉ mục theo mã số nhân viên của họ. Vì vậy, const wisenArray = Array.of[9.3]; // wisenArray contains only one element 9.3
5 sẽ là nhân viên số 0, const wisenArray = Array.of[9.3]; // wisenArray contains only one element 9.3
6 nhân viên số một, v.v.JavaScript không có kiểu dữ liệu mảng rõ ràng. Tuy nhiên, bạn có thể sử dụng đối tượng
const wisenArray = Array.of[9.3]; // wisenArray contains only one element 9.3
2 được xác định trước và các phương thức của nó để làm việc với các mảng trong ứng dụng của bạn. Đối tượng const wisenArray = Array.of[9.3]; // wisenArray contains only one element 9.3
2 có các phương thức để thao tác mảng theo nhiều cách khác nhau, chẳng hạn như nối, đảo ngược và sắp xếp chúng. Nó có một thuộc tính để xác định độ dài mảng và các thuộc tính khác để sử dụng với các biểu thức chính quyChúng ta sẽ tập trung vào mảng trong bài viết này, nhưng nhiều khái niệm tương tự cũng áp dụng cho mảng đã nhập, vì mảng và mảng đã nhập chia sẻ nhiều phương thức tương tự. Để biết thêm thông tin về mảng đã nhập, hãy xem tham chiếu mảng đã nhập
Các câu lệnh sau tạo các mảng tương đương
const arr1 = new Array[element0, element1, /* … ,*/ elementN];
const arr2 = Array[element0, element1, /* … ,*/ elementN];
const arr3 = [element0, element1, /* … ,*/ elementN];
const wisenArray = Array.of[9.3]; // wisenArray contains only one element 9.3
9 là danh sách các giá trị cho các phần tử của mảng. Khi các giá trị này được chỉ định, mảng được khởi tạo với chúng là các phần tử của mảng. Thuộc tính const myArray = ['Wind', 'Rain', 'Fire'];
0 của mảng được đặt thành số đối sốCú pháp dấu ngoặc được gọi là "bộ khởi tạo mảng" hoặc "bộ khởi tạo mảng". " Nó ngắn hơn các hình thức tạo mảng khác và do đó thường được ưa chuộng hơn. Xem để biết chi tiết
Để tạo một mảng có độ dài khác không, nhưng không có bất kỳ mục nào, có thể sử dụng một trong hai cách sau
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
Ghi chú. Trong đoạn mã trên,
const myArray = ['Wind', 'Rain', 'Fire'];
1 phải là một const myArray = ['Wind', 'Rain', 'Fire'];
2. Nếu không, một mảng có một phần tử [giá trị được cung cấp] sẽ được tạo. Gọi const myArray = ['Wind', 'Rain', 'Fire'];
3 sẽ trả về const myArray = ['Wind', 'Rain', 'Fire'];
1, nhưng mảng không chứa bất kỳ phần tử nào. Một vòng lặp const myArray = ['Wind', 'Rain', 'Fire'];
5 sẽ không tìm thấy bất kỳ thuộc tính nào trên mảngNgoài một biến mới được xác định như minh họa ở trên, mảng cũng có thể được gán làm thuộc tính của một đối tượng mới hoặc đối tượng hiện có
const obj = {};
// …
obj.prop = [element0, element1, /* … ,*/ elementN];
// OR
const obj = { prop: [element0, element1, /* … ,*/ elementN] };
Nếu bạn muốn khởi tạo một mảng với một phần tử duy nhất và phần tử đó là một
const myArray = ['Wind', 'Rain', 'Fire'];
2, bạn phải sử dụng cú pháp dấu ngoặc. Khi một giá trị const myArray = ['Wind', 'Rain', 'Fire'];
2 duy nhất được truyền cho hàm tạo hoặc hàm const myArray = ['Wind', 'Rain', 'Fire'];
8, nó được hiểu là một const myArray = ['Wind', 'Rain', 'Fire'];
1, không phải là một phần tử đơn lẻ// This creates an array with only one element: the number 42.
const arr = [42];
// This creates an array with no elements and arr.length set to 42.
const arr = Array[42];
// This is equivalent to:
const arr = [];
arr.length = 42;
Gọi
const arr = ['one', 'two', 'three'];
arr[2] // three
arr['length'] // 3
0 dẫn đến một const arr = ['one', 'two', 'three'];
arr[2] // three
arr['length'] // 3
1, nếu const arr = ['one', 'two', 'three'];
arr[2] // three
arr['length'] // 3
2 là một số không nguyên có phần phân số khác không. Ví dụ sau minh họa hành vi nàyconst arr = Array[9.3]; // RangeError: Invalid array length
Nếu mã của bạn cần tạo các mảng với các phần tử đơn lẻ của một kiểu dữ liệu tùy ý, sẽ an toàn hơn khi sử dụng các ký tự mảng. Ngoài ra, trước tiên hãy tạo một mảng trống trước khi thêm một phần tử vào đó
Bạn cũng có thể sử dụng phương thức tĩnh
const arr = ['one', 'two', 'three'];
arr[2] // three
arr['length'] // 3
3 để tạo mảng với một phần tửconst wisenArray = Array.of[9.3]; // wisenArray contains only one element 9.3
Vì các phần tử cũng là thuộc tính nên bạn có thể truy cập chúng bằng cách sử dụng bộ truy cập thuộc tính. Giả sử bạn định nghĩa mảng sau
const myArray = ['Wind', 'Rain', 'Fire'];
Bạn có thể gọi phần tử đầu tiên của mảng là
const arr = ['one', 'two', 'three'];
arr[2] // three
arr['length'] // 3
4, phần tử thứ hai của mảng là const arr = ['one', 'two', 'three'];
arr[2] // three
arr['length'] // 3
5, v.v… Chỉ số của các phần tử bắt đầu bằng 0Ghi chú. Bạn cũng có thể sử dụng các bộ truy cập thuộc tính để truy cập các thuộc tính khác của mảng, như với một đối tượng
const arr = ['one', 'two', 'three'];
arr[2] // three
arr['length'] // 3
Bạn có thể điền vào một mảng bằng cách gán giá trị cho các phần tử của nó. Ví dụ
const emp = [];
emp[0] = 'Casey Jones';
emp[1] = 'Phil Lesh';
emp[2] = 'August West';
Ghi chú. Nếu bạn cung cấp một giá trị không nguyên cho toán tử mảng trong đoạn mã trên, một thuộc tính sẽ được tạo trong đối tượng đại diện cho mảng, thay vì một phần tử mảng
const arr = [];
arr[3.4] = 'Oranges';
console.log[arr.length]; // 0
console.log[Object.hasOwn[arr, 3.4]]; // true
Bạn cũng có thể điền vào một mảng khi bạn tạo nó
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
0Ở cấp độ triển khai, các mảng của JavaScript thực sự lưu trữ các phần tử của chúng dưới dạng thuộc tính đối tượng tiêu chuẩn, sử dụng chỉ mục mảng làm tên thuộc tính
Tài sản
const myArray = ['Wind', 'Rain', 'Fire'];
0 là đặc biệt. Giá trị của nó luôn là một số nguyên dương lớn hơn chỉ số của phần tử cuối cùng nếu tồn tại. [Trong ví dụ dưới đây, const arr = ['one', 'two', 'three'];
arr[2] // three
arr['length'] // 3
7 được lập chỉ mục tại const arr = ['one', 'two', 'three'];
arr[2] // three
arr['length'] // 3
8, vì vậy, const arr = ['one', 'two', 'three'];
arr[2] // three
arr['length'] // 3
9 trả về const emp = [];
emp[0] = 'Casey Jones';
emp[1] = 'Phil Lesh';
emp[2] = 'August West';
0]Hãy nhớ rằng, các chỉ mục Mảng JavaScript dựa trên 0. họ bắt đầu từ
const emp = [];
emp[0] = 'Casey Jones';
emp[1] = 'Phil Lesh';
emp[2] = 'August West';
1, không phải const emp = [];
emp[0] = 'Casey Jones';
emp[1] = 'Phil Lesh';
emp[2] = 'August West';
2. Điều này có nghĩa là thuộc tính const myArray = ['Wind', 'Rain', 'Fire'];
0 sẽ nhiều hơn một chỉ số cao nhất được lưu trữ trong mảng// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
1Bạn cũng có thể gán cho thuộc tính
const myArray = ['Wind', 'Rain', 'Fire'];
0Viết một giá trị ngắn hơn số mục được lưu trữ sẽ cắt bớt mảng. Viết
const emp = [];
emp[0] = 'Casey Jones';
emp[1] = 'Phil Lesh';
emp[2] = 'August West';
1 làm trống nó hoàn toàn// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
2Một hoạt động phổ biến là lặp lại các giá trị của một mảng, xử lý từng giá trị theo một cách nào đó. Cách đơn giản nhất để làm điều này là như sau
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
3Nếu bạn biết rằng không có phần tử nào trong mảng của bạn đánh giá là
const emp = [];
emp[0] = 'Casey Jones';
emp[1] = 'Phil Lesh';
emp[2] = 'August West';
6 trong ngữ cảnh boolean—ví dụ: nếu mảng của bạn chỉ bao gồm các nút DOM—bạn có thể sử dụng một thành ngữ hiệu quả hơn// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
4Điều này tránh được chi phí kiểm tra độ dài của mảng và đảm bảo rằng biến
const emp = [];
emp[0] = 'Casey Jones';
emp[1] = 'Phil Lesh';
emp[2] = 'August West';
7 được gán lại cho mục hiện tại mỗi lần trong vòng lặp để thuận tiện hơnPhương thức
const emp = [];
emp[0] = 'Casey Jones';
emp[1] = 'Phil Lesh';
emp[2] = 'August West';
8 cung cấp một cách khác để lặp lại một mảng// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
5Hàm được chuyển đến
const emp = [];
emp[0] = 'Casey Jones';
emp[1] = 'Phil Lesh';
emp[2] = 'August West';
9 được thực thi một lần cho mọi mục trong mảng, với mục mảng được chuyển làm đối số cho hàm. Các giá trị chưa gán không được lặp lại trong vòng lặp const emp = [];
emp[0] = 'Casey Jones';
emp[1] = 'Phil Lesh';
emp[2] = 'August West';
9Lưu ý rằng các phần tử của một mảng bị bỏ qua khi mảng được xác định sẽ không được liệt kê khi lặp bởi
const emp = [];
emp[0] = 'Casey Jones';
emp[1] = 'Phil Lesh';
emp[2] = 'August West';
9, nhưng được liệt kê khi const arr = [];
arr[3.4] = 'Oranges';
console.log[arr.length]; // 0
console.log[Object.hasOwn[arr, 3.4]]; // true
2 đã được gán thủ công cho phần tử// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
6Vì các phần tử mảng JavaScript được lưu dưới dạng các thuộc tính đối tượng tiêu chuẩn, nên không nên lặp qua các mảng JavaScript bằng cách sử dụng các vòng lặp
const myArray = ['Wind', 'Rain', 'Fire'];
5, vì các phần tử bình thường và tất cả các thuộc tính có thể đếm được sẽ được liệt kêĐối tượng
const wisenArray = Array.of[9.3]; // wisenArray contains only one element 9.3
2 có các phương thức sauPhương thức
const arr = [];
arr[3.4] = 'Oranges';
console.log[arr.length]; // 0
console.log[Object.hasOwn[arr, 3.4]]; // true
5 kết hợp hai hoặc nhiều mảng và trả về một mảng mới// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
7Phương thức
const arr = [];
arr[3.4] = 'Oranges';
console.log[arr.length]; // 0
console.log[Object.hasOwn[arr, 3.4]]; // true
6 nối tất cả các phần tử của một mảng thành một chuỗi// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
8Phương thức
const arr = [];
arr[3.4] = 'Oranges';
console.log[arr.length]; // 0
console.log[Object.hasOwn[arr, 3.4]]; // true
7 thêm một hoặc nhiều phần tử vào cuối một mảng và trả về kết quả const myArray = ['Wind', 'Rain', 'Fire'];
0 của mảng// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
9Phương thức
const arr = [];
arr[3.4] = 'Oranges';
console.log[arr.length]; // 0
console.log[Object.hasOwn[arr, 3.4]]; // true
9 loại bỏ phần tử cuối cùng khỏi một mảng và trả về phần tử đóconst obj = {};
// …
obj.prop = [element0, element1, /* … ,*/ elementN];
// OR
const obj = { prop: [element0, element1, /* … ,*/ elementN] };
0Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
00 loại bỏ phần tử đầu tiên khỏi một mảng và trả về phần tử đóconst obj = {};
// …
obj.prop = [element0, element1, /* … ,*/ elementN];
// OR
const obj = { prop: [element0, element1, /* … ,*/ elementN] };
1Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
01 thêm một hoặc nhiều phần tử vào phía trước của một mảng và trả về độ dài mới của mảngconst obj = {};
// …
obj.prop = [element0, element1, /* … ,*/ elementN];
// OR
const obj = { prop: [element0, element1, /* … ,*/ elementN] };
2Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
02 trích xuất một phần của mảng và trả về một mảng mớiconst obj = {};
// …
obj.prop = [element0, element1, /* … ,*/ elementN];
// OR
const obj = { prop: [element0, element1, /* … ,*/ elementN] };
3Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
03 trả về phần tử tại chỉ mục đã chỉ định trong mảng hoặc const arr = [];
arr[3.4] = 'Oranges';
console.log[arr.length]; // 0
console.log[Object.hasOwn[arr, 3.4]]; // true
2 nếu chỉ mục nằm ngoài phạm vi. Nó được sử dụng đáng chú ý cho các chỉ số âm truy cập các phần tử từ cuối mảngconst obj = {};
// …
obj.prop = [element0, element1, /* … ,*/ elementN];
// OR
const obj = { prop: [element0, element1, /* … ,*/ elementN] };
4Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
05 loại bỏ các phần tử khỏi một mảng và [tùy chọn] thay thế chúng. Nó trả về các mục đã bị xóa khỏi mảngconst obj = {};
// …
obj.prop = [element0, element1, /* … ,*/ elementN];
// OR
const obj = { prop: [element0, element1, /* … ,*/ elementN] };
5Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
06 hoán đổi vị trí các phần tử của một mảng. phần tử mảng đầu tiên trở thành phần tử cuối cùng và phần tử cuối cùng trở thành phần tử đầu tiên. Nó trả về một tham chiếu đến mảngconst obj = {};
// …
obj.prop = [element0, element1, /* … ,*/ elementN];
// OR
const obj = { prop: [element0, element1, /* … ,*/ elementN] };
6Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
07 trả về một mảng mới với tất cả các phần tử của mảng con được nối vào nó một cách đệ quy cho đến độ sâu đã chỉ địnhconst obj = {};
// …
obj.prop = [element0, element1, /* … ,*/ elementN];
// OR
const obj = { prop: [element0, element1, /* … ,*/ elementN] };
7Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
08 sắp xếp các phần tử của một mảng tại chỗ và trả về một tham chiếu đến mảngconst obj = {};
// …
obj.prop = [element0, element1, /* … ,*/ elementN];
// OR
const obj = { prop: [element0, element1, /* … ,*/ elementN] };
8// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
08 cũng có thể nhận hàm gọi lại để xác định cách so sánh các phần tử mảng. Hàm gọi lại được gọi với hai đối số, là hai giá trị từ mảng. Hàm so sánh hai giá trị này và trả về một số dương, số âm hoặc số không, cho biết thứ tự của hai giá trị. Chẳng hạn, phần sau sẽ sắp xếp mảng theo chữ cái cuối cùng của chuỗiconst obj = {};
// …
obj.prop = [element0, element1, /* … ,*/ elementN];
// OR
const obj = { prop: [element0, element1, /* … ,*/ elementN] };
9- nếu hệ thống phân loại
10 nhỏ hơn// This... const arr1 = new Array[arrayLength]; // ...results in the same array as this const arr2 = Array[arrayLength]; // This has exactly the same effect const arr3 = []; arr3.length = arrayLength;
11, hãy trả về// This... const arr1 = new Array[arrayLength]; // ...results in the same array as this const arr2 = Array[arrayLength]; // This has exactly the same effect const arr3 = []; arr3.length = arrayLength;
12 [hoặc bất kỳ số âm nào]// This... const arr1 = new Array[arrayLength]; // ...results in the same array as this const arr2 = Array[arrayLength]; // This has exactly the same effect const arr3 = []; arr3.length = arrayLength;
- nếu
10 lớn hơn// This... const arr1 = new Array[arrayLength]; // ...results in the same array as this const arr2 = Array[arrayLength]; // This has exactly the same effect const arr3 = []; arr3.length = arrayLength;
11 theo hệ thống sắp xếp, hãy trả về// This... const arr1 = new Array[arrayLength]; // ...results in the same array as this const arr2 = Array[arrayLength]; // This has exactly the same effect const arr3 = []; arr3.length = arrayLength;
2 [hoặc bất kỳ số dương nào]const emp = []; emp[0] = 'Casey Jones'; emp[1] = 'Phil Lesh'; emp[2] = 'August West';
- nếu
10 và// This... const arr1 = new Array[arrayLength]; // ...results in the same array as this const arr2 = Array[arrayLength]; // This has exactly the same effect const arr3 = []; arr3.length = arrayLength;
11 được coi là tương đương, trả về// This... const arr1 = new Array[arrayLength]; // ...results in the same array as this const arr2 = Array[arrayLength]; // This has exactly the same effect const arr3 = []; arr3.length = arrayLength;
1const emp = []; emp[0] = 'Casey Jones'; emp[1] = 'Phil Lesh'; emp[2] = 'August West';
Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
19 tìm kiếm mảng cho // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
20 và trả về chỉ mục của kết quả khớp đầu tiên// This creates an array with only one element: the number 42.
const arr = [42];
// This creates an array with no elements and arr.length set to 42.
const arr = Array[42];
// This is equivalent to:
const arr = [];
arr.length = 42;
0Phương pháp
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
21 hoạt động giống như // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
22, nhưng bắt đầu từ cuối và tìm kiếm ngược lại// This creates an array with only one element: the number 42.
const arr = [42];
// This creates an array with no elements and arr.length set to 42.
const arr = Array[42];
// This is equivalent to:
const arr = [];
arr.length = 42;
1Phương thức
const emp = [];
emp[0] = 'Casey Jones';
emp[1] = 'Phil Lesh';
emp[2] = 'August West';
8 thực thi // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
24 trên mọi mục mảng và trả về const arr = [];
arr[3.4] = 'Oranges';
console.log[arr.length]; // 0
console.log[Object.hasOwn[arr, 3.4]]; // true
2// This creates an array with only one element: the number 42.
const arr = [42];
// This creates an array with no elements and arr.length set to 42.
const arr = Array[42];
// This is equivalent to:
const arr = [];
arr.length = 42;
2Phương thức
const emp = [];
emp[0] = 'Casey Jones';
emp[1] = 'Phil Lesh';
emp[2] = 'August West';
9 [và các phương thức khác bên dưới] thực hiện gọi lại được gọi là phương thức lặp, bởi vì chúng lặp trên toàn bộ mảng theo một cách nào đó. Mỗi người có một đối số thứ hai tùy chọn được gọi là // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
27. Nếu được cung cấp, // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
27 trở thành giá trị của từ khóa // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
29 bên trong phần thân của hàm gọi lại. Nếu không được cung cấp, như với các trường hợp khác khi hàm được gọi bên ngoài ngữ cảnh đối tượng rõ ràng, thì // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
29 sẽ tham chiếu đến đối tượng toàn cầu [// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
31, // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
32, v.v. ] khi chức năng không nghiêm ngặt hoặc const arr = [];
arr[3.4] = 'Oranges';
console.log[arr.length]; // 0
console.log[Object.hasOwn[arr, 3.4]]; // true
2 khi chức năng nghiêm ngặtGhi chú. Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
08 được giới thiệu ở trên không phải là phương thức lặp, vì hàm gọi lại của nó chỉ được sử dụng để so sánh và có thể không được gọi theo bất kỳ thứ tự cụ thể nào dựa trên thứ tự phần tử. // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
08 cũng không chấp nhận tham số // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
27Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
37 trả về một mảng mới có giá trị trả về từ việc thực thi // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
24 trên mọi mục mảng// This creates an array with only one element: the number 42.
const arr = [42];
// This creates an array with no elements and arr.length set to 42.
const arr = Array[42];
// This is equivalent to:
const arr = [];
arr.length = 42;
3Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
39 chạy // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
37 theo sau là // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
07 của độ sâu 1// This creates an array with only one element: the number 42.
const arr = [42];
// This creates an array with no elements and arr.length set to 42.
const arr = Array[42];
// This is equivalent to:
const arr = [];
arr.length = 42;
4Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
42 trả về một mảng mới chứa các mục mà // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
24 đã trả về // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
44// This creates an array with only one element: the number 42.
const arr = [42];
// This creates an array with no elements and arr.length set to 42.
const arr = Array[42];
// This is equivalent to:
const arr = [];
arr.length = 42;
5Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
45 trả về mục đầu tiên mà // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
24 trả về // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
44// This creates an array with only one element: the number 42.
const arr = [42];
// This creates an array with no elements and arr.length set to 42.
const arr = Array[42];
// This is equivalent to:
const arr = [];
arr.length = 42;
6Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
48 trả về mục cuối cùng mà // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
24 đã trả về // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
44// This creates an array with only one element: the number 42.
const arr = [42];
// This creates an array with no elements and arr.length set to 42.
const arr = Array[42];
// This is equivalent to:
const arr = [];
arr.length = 42;
7Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
51 trả về chỉ mục của mục đầu tiên mà // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
24 trả về // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
44// This creates an array with only one element: the number 42.
const arr = [42];
// This creates an array with no elements and arr.length set to 42.
const arr = Array[42];
// This is equivalent to:
const arr = [];
arr.length = 42;
8Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
54 trả về chỉ mục của mục cuối cùng mà // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
24 đã trả về // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
44// This creates an array with only one element: the number 42.
const arr = [42];
// This creates an array with no elements and arr.length set to 42.
const arr = Array[42];
// This is equivalent to:
const arr = [];
arr.length = 42;
9Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
57 trả về // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
44 nếu // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
24 trả về // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
44 cho mọi mục trong mảngconst arr = Array[9.3]; // RangeError: Invalid array length
0Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
61 trả về // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
44 nếu // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
24 trả về // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
44 cho ít nhất một mục trong mảngconst arr = Array[9.3]; // RangeError: Invalid array length
1Phương pháp
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
65 áp dụng // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
66 cho mỗi giá trị trong mảng nhằm mục đích giảm danh sách các mục xuống một giá trị duy nhất. Hàm // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
67 trả về giá trị cuối cùng được trả về bởi hàm // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
24Nếu
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
69 được chỉ định, thì // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
24 được gọi với // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
69 là giá trị tham số đầu tiên và giá trị của mục đầu tiên trong mảng là giá trị tham số thứ haiNếu
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
69 không được chỉ định thì hai giá trị tham số đầu tiên của // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
24 sẽ là phần tử thứ nhất và thứ hai của mảng. Trong mỗi lần gọi tiếp theo, giá trị của tham số đầu tiên sẽ là bất kỳ giá trị nào được trả về trong lần gọi trước đó và giá trị của tham số thứ hai sẽ là giá trị tiếp theo trong mảngNếu
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
24 cần truy cập vào chỉ mục của mục đang được xử lý hoặc truy cập vào toàn bộ mảng, thì chúng có sẵn dưới dạng tham số tùy chọnconst arr = Array[9.3]; // RangeError: Invalid array length
2Phương thức
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
76 hoạt động giống như // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
65, nhưng bắt đầu với phần tử cuối cùng// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
67 và // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
79 là phương pháp mảng lặp ít rõ ràng nhất. Chúng nên được sử dụng cho các thuật toán kết hợp hai giá trị theo cách đệ quy để giảm một chuỗi xuống một giá trị duy nhấtMảng có thể chứa "các vị trí trống", không giống với các vị trí được điền giá trị
const arr = [];
arr[3.4] = 'Oranges';
console.log[arr.length]; // 0
console.log[Object.hasOwn[arr, 3.4]]; // true
2. Các ô trống có thể được tạo theo một trong các cách sauconst arr = Array[9.3]; // RangeError: Invalid array length
3Trong một số thao tác, các vị trí trống hoạt động như thể chúng được lấp đầy bằng
const arr = [];
arr[3.4] = 'Oranges';
console.log[arr.length]; // 0
console.log[Object.hasOwn[arr, 3.4]]; // true
2const arr = Array[9.3]; // RangeError: Invalid array length
4Nhưng ở những phương pháp khác [đáng chú ý nhất là phương pháp lặp mảng], các ô trống bị bỏ qua
const arr = Array[9.3]; // RangeError: Invalid array length
5Để biết danh sách đầy đủ về cách thức hoạt động của các phương thức mảng với các mảng thưa thớt, hãy xem
Mảng có thể được lồng vào nhau, nghĩa là một mảng có thể chứa một mảng khác làm phần tử. Sử dụng đặc tính này của mảng JavaScript, có thể tạo các mảng nhiều chiều
Đoạn mã sau tạo một mảng hai chiều
const arr = Array[9.3]; // RangeError: Invalid array length
6Ví dụ này tạo một mảng với các hàng sau
const arr = Array[9.3]; // RangeError: Invalid array length
7Mảng cũng có thể được sử dụng như đối tượng, để lưu trữ thông tin liên quan
const arr = Array[9.3]; // RangeError: Invalid array length
8Ví dụ: khi một mảng là kết quả của sự khớp giữa một biểu thức chính quy và một chuỗi, mảng sẽ trả về các thuộc tính và phần tử cung cấp thông tin về sự khớp. Mảng là giá trị trả về của
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
83, // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
84 và // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
85. Để biết thông tin về cách sử dụng mảng với biểu thức chính quy, hãy xem Biểu thức chính quyMột số đối tượng JavaScript, chẳng hạn như đối tượng
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
86 được trả về bởi // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
87 hoặc đối tượng // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
88 được cung cấp sẵn trong phần thân của hàm, trông và hoạt động giống như các mảng trên bề mặt nhưng không chia sẻ tất cả các phương thức của chúng. Đối tượng // This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
88 cung cấp thuộc tính const myArray = ['Wind', 'Rain', 'Fire'];
0 nhưng không triển khai các phương thức mảng như const emp = [];
emp[0] = 'Casey Jones';
emp[1] = 'Phil Lesh';
emp[2] = 'August West';
8Các phương thức mảng không thể được gọi trực tiếp trên các đối tượng giống như mảng
const arr = Array[9.3]; // RangeError: Invalid array length
9Nhưng bạn có thể gọi họ một cách gián tiếp bằng cách sử dụng
// This...
const arr1 = new Array[arrayLength];
// ...results in the same array as this
const arr2 = Array[arrayLength];
// This has exactly the same effect
const arr3 = [];
arr3.length = arrayLength;
92const wisenArray = Array.of[9.3]; // wisenArray contains only one element 9.3
0Các phương thức nguyên mẫu mảng cũng có thể được sử dụng trên các chuỗi, vì chúng cung cấp quyền truy cập tuần tự vào các ký tự của chúng theo cách tương tự như các mảng