Hiển thị mảng đối tượng trong html

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
3

Mả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 quy

Chú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ảng

Ngoà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ày

const 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 0

Ghi 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;
1

Bạn cũng có thể gán cho thuộc tính

const myArray = ['Wind', 'Rain', 'Fire'];
0

Viế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;
2

Mộ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;
3

Nế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ơn

Phươ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;
5

Hà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';
9

Lư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;
6

Vì 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 sau

Phươ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;
7

Phươ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;
8

Phươ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;
9

Phươ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] };
0

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;
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] };
1

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

const obj = {};
// …
obj.prop = [element0, element1, /* … ,*/ elementN];

// OR
const obj = { prop: [element0, element1, /* … ,*/ elementN] };
2

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;
02 trích xuất một phần của mảng và trả về một mảng mới

const obj = {};
// …
obj.prop = [element0, element1, /* … ,*/ elementN];

// OR
const obj = { prop: [element0, element1, /* … ,*/ elementN] };
3

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

const obj = {};
// …
obj.prop = [element0, element1, /* … ,*/ elementN];

// OR
const obj = { prop: [element0, element1, /* … ,*/ elementN] };
4

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

const obj = {};
// …
obj.prop = [element0, element1, /* … ,*/ elementN];

// OR
const obj = { prop: [element0, element1, /* … ,*/ elementN] };
5

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

const obj = {};
// …
obj.prop = [element0, element1, /* … ,*/ elementN];

// OR
const obj = { prop: [element0, element1, /* … ,*/ elementN] };
6

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;
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ỉ định

const obj = {};
// …
obj.prop = [element0, element1, /* … ,*/ elementN];

// OR
const obj = { prop: [element0, element1, /* … ,*/ elementN] };
7

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

const 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ỗi

const obj = {};
// …
obj.prop = [element0, element1, /* … ,*/ elementN];

// OR
const obj = { prop: [element0, element1, /* … ,*/ elementN] };
9

  • nếu hệ thống phân loạ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;
    
    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)
  • 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;
    
    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ề
    const emp = [];
    emp[0] = 'Casey Jones';
    emp[1] = 'Phil Lesh';
    emp[2] = 'August West';
    
    2 (hoặc bất kỳ số dương nào)
  • 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;
    
    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ề
    const emp = [];
    emp[0] = 'Casey Jones';
    emp[1] = 'Phil Lesh';
    emp[2] = 'August West';
    
    1

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;
0

Phươ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;
1

Phươ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;
2

Phươ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ặt

Ghi 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;
27

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;
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;
3

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;
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;
4

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;
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;
5

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;
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;
6

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;
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;
7

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;
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;
8

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;
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;
9

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

const arr = Array(9.3); // RangeError: Invalid array length
0

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

const arr = Array(9.3); // RangeError: Invalid array length
1

Phươ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;
24

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;
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ứ hai

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

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 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ọn

const arr = Array(9.3); // RangeError: Invalid array length
2

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;
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ất

Mả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 sau

const arr = Array(9.3); // RangeError: Invalid array length
3

Trong 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
2

const arr = Array(9.3); // RangeError: Invalid array length
4

Như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
6

Ví 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
7

Mả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
8

Ví 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 quy

Mộ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';
8

Cá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
9

Như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;
92

const wisenArray = Array.of(9.3); // wisenArray contains only one element 9.3
0

Cá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

Làm cách nào để hiển thị các phần tử mảng trong JavaScript trong HTML?

Để in một mảng đối tượng đúng cách, bạn cần định dạng mảng dưới dạng chuỗi JSON bằng cách sử dụng JSON. stringify() và đính kèm chuỗi vào thẻ . Và đó là cách bạn có thể in các phần tử mảng JavaScript lên trang web.

Làm cách nào để lặp mảng trong HTML?

Mảng. Phương thức from() được sử dụng để tạo một Mảng mới từ một đối tượng giống như mảng hoặc có thể lặp lại. HTMLCollection được truyền cho phương thức này để chuyển đổi nó thành Mảng. Phương thức forEach() hiện có thể được sử dụng để lặp qua các phần tử giống như một mảng và hiển thị chúng .