Đối tượng fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 9, giống như mảng trong các ngôn ngữ lập trình khác, cho phép lưu trữ một tập hợp nhiều mục dưới một tên biến duy nhất và có các thành viên cho
Trong JavaScript, mảng không phải là nguyên thủy mà thay vào đó là đối tượng fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 9 với các đặc điểm cốt lõi sau
- Mảng JavaScript có thể thay đổi kích thước và có thể chứa kết hợp các loại dữ liệu khác nhau. (Khi những đặc điểm đó là không mong muốn, thay vào đó hãy sử dụng các mảng đã nhập. )
- Mảng JavaScript không phải là mảng kết hợp và do đó, không thể truy cập các phần tử mảng bằng cách sử dụng chuỗi tùy ý làm chỉ mục mà phải được truy cập bằng cách sử dụng số nguyên không âm (hoặc dạng chuỗi tương ứng của chúng) làm chỉ mục
- Các mảng JavaScript không được lập chỉ mục. phần tử đầu tiên của một mảng nằm ở chỉ mục fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 1, phần tử thứ hai ở chỉ mục fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 2, v.v. — và phần tử cuối cùng nằm ở giá trị thuộc tính fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 của mảng trừ đi fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 2
- JavaScript tạo bản sao nông. (Tất cả các thao tác sao chép tích hợp sẵn tiêu chuẩn với bất kỳ đối tượng JavaScript nào đều tạo ra các bản sao nông, thay vì các bản sao sâu)
Các đối tượng fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 9 không thể sử dụng các chuỗi tùy ý làm chỉ mục phần tử (như trong một mảng kết hợp) mà phải sử dụng các số nguyên không âm (hoặc dạng chuỗi tương ứng của chúng). Việc đặt hoặc truy cập thông qua các số không phải là số nguyên sẽ không đặt hoặc truy xuất một phần tử từ chính danh sách mảng, nhưng sẽ đặt hoặc truy cập một biến được liên kết với mảng đó. Các thuộc tính đối tượng của mảng và danh sách các phần tử mảng là riêng biệt và không thể áp dụng các thuộc tính của mảng cho các thuộc tính đã đặt tên này
Các phần tử mảng là các thuộc tính của đối tượng giống như cách mà fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 6 là một thuộc tính (tuy nhiên, để cụ thể, fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 7 là một phương thức). Tuy nhiên, cố gắng truy cập một phần tử của mảng như sau sẽ gây ra lỗi cú pháp vì tên thuộc tính không hợp lệ
console.log(arr.0); // a syntax error
Cú pháp JavaScript yêu cầu các thuộc tính bắt đầu bằng một chữ số được truy cập bằng cách sử dụng thay vì ký hiệu dấu chấm. Cũng có thể trích dẫn các chỉ số mảng (e. g. , fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 8 thay vì fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 9), mặc dù thường không cần thiết
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 20 trong fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 9 được công cụ JavaScript ép buộc thành một chuỗi thông qua chuyển đổi ngầm định fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 6. Kết quả là, fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 23 và fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 24 sẽ đề cập đến hai vị trí khác nhau trên đối tượng fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 25 và ví dụ sau đây có thể là fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 26
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 9
Chỉ fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 8 là một chỉ mục mảng thực tế. fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 28 là một thuộc tính chuỗi tùy ý sẽ không được truy cập trong phép lặp mảng
Thuộc tính fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 và thuộc tính số của một mảng JavaScript được kết nối
Một số phương thức mảng tích hợp sẵn (e. g. , fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 30, fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 31, fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 32, v.v. ) tính đến giá trị của thuộc tính fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 của mảng khi chúng được gọi
Các phương pháp khác (e. g. , fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 34, fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 35, v.v. ) cũng dẫn đến cập nhật thuộc tính fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 của mảng
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 0
Khi đặt thuộc tính trên mảng JavaScript khi thuộc tính là chỉ mục mảng hợp lệ và chỉ mục đó nằm ngoài giới hạn hiện tại của mảng, công cụ sẽ cập nhật thuộc tính fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 của mảng tương ứng
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6
Tăng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined
Tuy nhiên, việc giảm thuộc tính fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 sẽ xóa các phần tử
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 2
Điều này được giải thích thêm trên trang fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 70
Các vị trí trống hoạt động không nhất quán giữa các phương thức mảng. Nói chung, các phương thức cũ hơn sẽ bỏ qua các vị trí trống, trong khi các phương thức mới hơn coi chúng là fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 71
Trong số các phương thức lặp qua nhiều phần tử, các phương thức sau đây thực hiện kiểm tra fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 72 trước khi truy cập chỉ mục và không kết hợp các vị trí trống với fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 71
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 74
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 75
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 76
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 77
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 78
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 79
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 70
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 32
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 72
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 73
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 74
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 75
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 76
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 31
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 78
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 79
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 35
Để biết chính xác cách họ xử lý các vị trí trống, hãy xem trang cho từng phương pháp
Các phương pháp này xử lý các vị trí trống như thể chúng là fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 71
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 92
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 93
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 94
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 95
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 96
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 97
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 98 Thử nghiệm
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 99 Thử nghiệm
- fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 900
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 30
- fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 902
- fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 903
- fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 904
Một số phương thức không thay đổi mảng hiện có mà phương thức được gọi, mà thay vào đó trả về một mảng mới. Họ làm như vậy bằng cách truy cập đầu tiên vào fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 905 để xác định hàm tạo sẽ sử dụng cho mảng mới. Mảng mới được xây dựng sau đó được phổ biến với các phần tử. Sao chép luôn xảy ra một cách nông cạn — phương thức không bao giờ sao chép bất kỳ thứ gì ngoài mảng được tạo ban đầu. Các phần tử của (các) mảng ban đầu được sao chép vào mảng mới như sau
- Các đối tượng. tham chiếu đối tượng được sao chép vào mảng mới. Cả mảng ban đầu và mảng mới đều đề cập đến cùng một đối tượng. Nghĩa là, nếu một đối tượng được tham chiếu được sửa đổi, các thay đổi sẽ hiển thị đối với cả mảng mới và mảng ban đầu
- Các kiểu nguyên thủy như chuỗi, số và boolean (không phải đối tượng fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 906, fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 907 và fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 908). giá trị của chúng được sao chép vào mảng mới
Các phương thức khác thay đổi mảng mà phương thức được gọi, trong trường hợp đó, giá trị trả về của chúng sẽ khác nhau tùy thuộc vào phương thức. đôi khi là tham chiếu đến cùng một mảng, đôi khi là độ dài của mảng mới
Các phương pháp sau tạo mảng mới với fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 909
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 74
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 77
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 78
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 79
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 73
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 31
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 35 (để xây dựng mảng các phần tử đã loại bỏ được trả về)
Lưu ý rằng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 98 và fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 99 không sử dụng fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 909 để tạo mảng mới cho mỗi mục nhập nhóm mà luôn sử dụng hàm tạo fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 9 đơn giản. Về mặt khái niệm, chúng cũng không phải là phương pháp sao chép
Các phương pháp sau đây thay đổi mảng ban đầu
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 75
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 93
- fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 923
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 34
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 76
- fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 926
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 79
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 35
- fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 929
Nhiều phương thức mảng lấy hàm gọi lại làm đối số. Hàm gọi lại được gọi tuần tự và nhiều nhất một lần cho mỗi phần tử trong mảng và giá trị trả về của hàm gọi lại được sử dụng để xác định giá trị trả về của phương thức. Tất cả đều có chung chữ ký
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3
Trường hợp fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 930 có ba đối số
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 931Phần tử hiện tại đang được xử lý trong mảng
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 932Chỉ số của phần tử hiện tại đang được xử lý trong mảng
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 933Mảng mà phương thức được gọi
Giá trị mà fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 930 dự kiến sẽ trả về phụ thuộc vào phương thức mảng được gọi
Đối số fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 935 (mặc định là fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 71) sẽ được sử dụng làm giá trị fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 937 khi gọi fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 930. Giá trị ________ 1937 cuối cùng có thể quan sát được bởi ________ 1930 được xác định theo các quy tắc thông thường. nếu fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 930 là , các giá trị nguyên thủy của fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 937 được bao bọc trong các đối tượng và fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 71/fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 944 được thay thế bằng fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 945. Đối số fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 935 không liên quan đối với bất kỳ fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 930 nào được xác định bằng hàm mũi tên, vì các hàm mũi tên không có ràng buộc fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 937 của riêng chúng
Tất cả các phương thức lặp là và , mặc dù chúng hoạt động khác với
Các phương pháp sau đây là lặp đi lặp lại
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 76
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 77
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 94
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 95
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 96
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 97
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 79
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 70
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 98
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 99
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 73
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 78
Cụ thể, fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 76, fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 94, fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 95, fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 96, fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 97 và fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 78 không phải lúc nào cũng gọi fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 930 trên mọi phần tử — chúng dừng lặp ngay khi giá trị trả về được xác định
Có hai phương thức khác nhận hàm gọi lại và chạy hàm đó nhiều nhất một lần cho mỗi phần tử trong mảng, nhưng chúng có các dấu hiệu hơi khác so với các phương thức lặp điển hình (ví dụ: chúng không chấp nhận fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 935)
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 74
- fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 75
Phương thức fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 79 cũng có chức năng gọi lại, nhưng nó không phải là phương thức lặp. Nó thay đổi mảng tại chỗ, không chấp nhận fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 935 và có thể gọi lại nhiều lần trên một chỉ mục
Các phương thức mảng luôn chung chung — chúng không truy cập bất kỳ dữ liệu nội bộ nào của đối tượng mảng. Họ chỉ truy cập các phần tử mảng thông qua thuộc tính fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 và các phần tử được lập chỉ mục. Điều này có nghĩa là chúng cũng có thể được gọi trên các đối tượng giống như mảng
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 7
Chuẩn hóa thuộc tính độ dài
Thuộc tính fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 và sau đó được kẹp vào phạm vi từ 0 đến 253 - 1. fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 975 trở thành fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 1, vì vậy ngay cả khi không có mặt fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 hoặc là fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 71, nó vẫn hoạt động như thể nó có giá trị fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 1
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 7
Một số phương thức mảng thiết lập thuộc tính fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 của đối tượng mảng. Họ luôn đặt giá trị sau khi chuẩn hóa, vì vậy, fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 luôn kết thúc dưới dạng số nguyên
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 9
Các đối tượng giống như mảng
Thuật ngữ đề cập đến bất kỳ đối tượng nào không ném trong quá trình chuyển đổi fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 được mô tả ở trên. Trong thực tế, đối tượng như vậy được cho là thực sự có thuộc tính fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 và có các phần tử được lập chỉ mục trong phạm vi từ fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 1 đến fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 985. (Nếu nó không có tất cả các chỉ số, nó sẽ có chức năng tương đương với một. )
Nhiều đối tượng DOM giống như mảng — ví dụ, fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 986 và fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 987. Đối tượng fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 988 cũng giống như mảng. Bạn có thể gọi các phương thức mảng trên chúng ngay cả khi bản thân chúng không có các phương thức này
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 90
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 989
Tạo một đối tượng fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 9 mới
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 991
Trả về hàm tạo fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 9
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 993
Tạo một phiên bản fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 9 mới từ một đối tượng giống như mảng hoặc đối tượng có thể lặp lại
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 995Trả về fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 26 nếu đối số là một mảng hoặc fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 997 nếu không thì
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 998Tạo một phiên bản fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 9 mới với số lượng đối số thay đổi, bất kể số lượng hoặc loại đối số
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 000
Phản ánh số lượng phần tử trong một mảng
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 001Chứa các tên thuộc tính không có trong tiêu chuẩn ECMAScript trước phiên bản ES2015 và được bỏ qua cho mục đích ràng buộc câu lệnh fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 002
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 003
Trả về mục mảng tại chỉ mục đã cho. Chấp nhận số nguyên âm, đếm ngược từ mục cuối cùng
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 004Trả về một mảng mới là mảng đang gọi được nối với (các) mảng và/hoặc (các) giá trị khác
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 005Sao chép một chuỗi các phần tử mảng trong một mảng
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 006Trả về một đối tượng trình lặp mảng mới chứa các cặp khóa/giá trị cho mỗi chỉ mục trong một mảng
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 007Trả về fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 26 nếu mọi phần tử trong mảng đang gọi thỏa mãn chức năng kiểm tra
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 009Điền vào tất cả các phần tử của một mảng từ chỉ mục bắt đầu đến chỉ mục kết thúc với một giá trị tĩnh
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 010Trả về một mảng mới chứa tất cả các phần tử của mảng đang gọi mà hàm lọc được cung cấp trả về fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 26
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 012Trả về giá trị của phần tử đầu tiên trong mảng thỏa mãn chức năng kiểm tra được cung cấp hoặc fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 71 nếu không tìm thấy phần tử phù hợp
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 014Trả về chỉ mục của phần tử đầu tiên trong mảng thỏa mãn chức năng kiểm tra được cung cấp hoặc fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 015 nếu không tìm thấy phần tử phù hợp
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 016Trả về giá trị của phần tử cuối cùng trong mảng thỏa mãn chức năng kiểm tra được cung cấp hoặc fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 71 nếu không tìm thấy phần tử phù hợp
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 018Trả về chỉ mục của phần tử cuối cùng trong mảng thỏa mãn chức năng kiểm tra được cung cấp hoặc fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 015 nếu không tìm thấy phần tử phù hợp
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 020Trả 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ó theo cách đệ quy cho đến độ sâu đã chỉ định
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 021Trả về một mảng mới được hình thành bằng cách áp dụng hàm gọi lại đã cho cho từng phần tử của mảng đang gọi, sau đó làm phẳng kết quả theo một cấp
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 022Gọi một hàm cho từng phần tử trong mảng gọi
______3023 Thử nghiệmNhóm các phần tử của một mảng thành một đối tượng theo các chuỗi được trả về bởi hàm kiểm tra
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 024 Thử nghiệmNhóm các phần tử của một mảng thành một fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 025 theo các giá trị được trả về bởi hàm kiểm tra
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 026Xác định xem mảng đang gọi có chứa giá trị hay không, trả về fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 26 hoặc fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 997 nếu thích hợp
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 029Trả về chỉ mục đầu tiên (ít nhất) mà tại đó có thể tìm thấy một phần tử đã cho trong mảng đang gọi
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 030Nối tất cả các phần tử của một mảng thành một chuỗi
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 031Trả về một trình vòng lặp mảng mới chứa các khóa cho mỗi chỉ mục trong mảng đang gọi
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 032Trả về chỉ mục cuối cùng (lớn nhất) mà tại đó có thể tìm thấy một phần tử đã cho trong mảng đang gọi hoặc fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 015 nếu không tìm thấy phần tử nào
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 034Trả về một mảng mới chứa kết quả của việc gọi một hàm trên mọi phần tử trong mảng đang gọi
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 035Loại bỏ phần tử cuối cùng khỏi một mảng và trả về phần tử đó
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 036Thêm một hoặc nhiều phần tử vào cuối một mảng và trả về fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 mới của mảng
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 038Thực thi hàm gọi lại "reducer" do người dùng cung cấp trên từng phần tử của mảng (từ trái sang phải), để giảm nó thành một giá trị
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 039Thực thi chức năng gọi lại "reducer" do người dùng cung cấp trên từng phần tử của mảng (từ phải sang trái), để giảm nó thành một giá trị
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 040Đảo ngược thứ tự của các phần tử của một mảng tại chỗ. (Đầu tiên trở thành cuối cùng, cuối cùng trở thành đầu tiên. )
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 041Loại bỏ phần tử đầu tiên khỏi một mảng và trả về phần tử đó
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 042Trích xuất một phần của mảng đang gọi và trả về một mảng mới
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 043Trả về fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 26 nếu ít nhất một phần tử trong mảng gọi đáp ứng chức năng kiểm tra được cung cấp
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 045Sắp xếp các phần tử của một mảng tại chỗ và trả về mảng
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 046Thêm và/hoặc xóa phần tử khỏi mảng
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 047Trả về một chuỗi được bản địa hóa đại diện cho mảng đang gọi và các phần tử của nó. Ghi đè phương thức fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 048
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 049Trả về một chuỗi đại diện cho mảng đang gọi và các phần tử của nó. Ghi đè phương thức fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 050
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 051Thê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ề fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 3 mới của mảng
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 053Trả về một đối tượng trình lặp mảng mới chứa các giá trị cho từng chỉ mục trong mảng
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 054Bí danh cho phương thức fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 904 theo mặc định
Phần này cung cấp một số ví dụ về hoạt động mảng phổ biến trong JavaScript
Ghi chú. Nếu bạn chưa quen với kiến thức cơ bản về mảng, trước tiên hãy cân nhắc đọc JavaScript First Steps. Mảng, which và bao gồm các ví dụ khác về hoạt động mảng phổ biến
Ví dụ này cho thấy ba cách để tạo mảng mới. đầu tiên sử dụng , sau đó sử dụng hàm tạo fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 989 và cuối cùng sử dụng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 057 để tạo mảng từ một chuỗi
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 91
Ví dụ này sử dụng phương thức fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 30 để tạo một chuỗi từ mảng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 92
Ví dụ này cho thấy cách truy cập các mục trong mảng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059 bằng cách chỉ định số chỉ mục của vị trí của chúng trong mảng
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 93
Ví dụ này sử dụng phương thức fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 32 để tìm vị trí (chỉ số) của chuỗi fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 062 trong mảng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 94
Ví dụ này chỉ ra hai cách để kiểm tra xem mảng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059 có chứa fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 062 và fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 066 hay không. đầu tiên với phương pháp fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 900, sau đó với phương pháp fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 32 để kiểm tra giá trị chỉ mục không phải là fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 015
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 95
Ví dụ này sử dụng phương thức fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 34 để nối một chuỗi mới vào mảng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 96
Ví dụ này sử dụng phương thức fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 923 để xóa mục cuối cùng khỏi mảng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 97
Ghi chú. Chỉ có thể sử dụng fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 923 để xóa phần tử cuối cùng khỏi một mảng. Để xóa nhiều phần tử ở cuối mảng, hãy xem ví dụ tiếp theo
Ví dụ này sử dụng phương pháp fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 35 để xóa 3 mục cuối cùng khỏi mảng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 98
Ví dụ này sử dụng phương thức fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 35 để cắt bớt mảng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059 xuống chỉ còn 2 mục đầu tiên của nó
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 99
Ví dụ này sử dụng phương pháp fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 926 để xóa mục đầu tiên khỏi mảng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 00
Ghi chú. Chỉ có thể sử dụng fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 926 để xóa mục đầu tiên khỏi mảng. Để xóa nhiều mục khỏi đầu một mảng, hãy xem ví dụ tiếp theo
Ví dụ này sử dụng phương thức fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 35 để xóa 3 mục đầu tiên khỏi mảng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 01
Ví dụ này sử dụng phương thức fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 929 để thêm, tại chỉ mục fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 1, một mục mới vào mảng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059 — biến nó thành mục mới đầu tiên trong mảng
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 02
Ví dụ này sử dụng phương thức fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 35 để xóa chuỗi fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 062 khỏi mảng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059 — bằng cách chỉ định vị trí chỉ mục của fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 062
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 03
Ví dụ này sử dụng phương pháp fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 35 để xóa các chuỗi fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 062 và fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 093 khỏi mảng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059 — bằng cách chỉ định vị trí chỉ mục của fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 062, cùng với số lượng tổng số mục cần xóa
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 04
Ví dụ này sử dụng phương thức fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 35 để thay thế 2 mục cuối cùng trong mảng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059 bằng các mục mới
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 05
Ví dụ này sử dụng vòng lặp fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 098 để lặp qua mảng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059, ghi từng mục vào bảng điều khiển
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 06
Nhưng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 098 chỉ là một trong nhiều cách để lặp qua bất kỳ mảng nào;
Ví dụ này sử dụng phương thức fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 70 để gọi một hàm trên từng phần tử trong mảng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059;
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 07
Ví dụ này sử dụng phương thức fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 74 để hợp nhất mảng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059 với mảng fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 12, để tạo ra mảng fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 13 mới. Lưu ý rằng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059 và fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 12 không thay đổi
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 08
Ví dụ này cho thấy ba cách để tạo một mảng mới từ mảng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 059 hiện có. đầu tiên bằng cách sử dụng cú pháp trải rộng, sau đó bằng cách sử dụng phương thức fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 17, sau đó bằng cách sử dụng phương thức fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 31
fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 09
Tất cả các hoạt động sao chép mảng tích hợp (cú pháp trải rộng, fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 993, fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 042 và fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 004) tạo ra các bản sao nông. Thay vào đó, nếu bạn muốn có một bản sao sâu của một mảng, bạn có thể sử dụng fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 22 để chuyển đổi mảng thành chuỗi JSON, sau đó sử dụng fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 23 để chuyển đổi chuỗi trở lại thành một mảng mới hoàn toàn độc lập với mảng ban đầu
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 0
Bạn cũng có thể tạo các bản sao sâu bằng cách sử dụng phương pháp fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 24, phương pháp này có ưu điểm là cho phép các đối tượng có thể chuyển nhượng trong nguồn được chuyển sang bản sao mới, thay vì chỉ được sao chép
Cuối cùng, điều quan trọng là phải hiểu rằng việc gán một mảng hiện có cho một biến mới không tạo ra một bản sao của mảng hoặc các phần tử của nó. Thay vào đó, biến mới chỉ là một tham chiếu hoặc bí danh cho mảng ban đầu; . Do đó, nếu bạn thực hiện bất kỳ thay đổi nào đối với giá trị của mảng ban đầu hoặc giá trị của biến mới, thì biến kia cũng sẽ thay đổi theo.
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 1
Các phương thức fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 023 có thể được sử dụng để nhóm các phần tử của một mảng, sử dụng hàm kiểm tra trả về một chuỗi cho biết nhóm của phần tử hiện tại
Ở đây chúng ta có một mảng hàng tồn kho đơn giản chứa các đối tượng "thực phẩm" có một fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 26 và một fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 27
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 2
Để sử dụng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 98, bạn cung cấp một hàm gọi lại được gọi với phần tử hiện tại, và tùy chọn chỉ mục và mảng hiện tại, đồng thời trả về một chuỗi cho biết nhóm của phần tử
Mã bên dưới sử dụng hàm mũi tên để trả về fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 27 của mỗi phần tử mảng (điều này sử dụng để giải nén phần tử fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 27 khỏi đối tượng đã truyền). Kết quả là một đối tượng có các thuộc tính được đặt tên theo các chuỗi duy nhất được gọi lại. Mỗi thuộc tính được gán một mảng chứa các phần tử trong nhóm
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 3
Lưu ý rằng đối tượng được trả về tham chiếu các phần tử giống như mảng ban đầu (không phải bản sao sâu). Việc thay đổi cấu trúc bên trong của các phần tử này sẽ được phản ánh trong cả mảng ban đầu và đối tượng được trả về
Ví dụ: nếu bạn không thể sử dụng một chuỗi làm khóa, nếu thông tin cần nhóm được liên kết với một đối tượng có thể thay đổi, thì bạn có thể sử dụng fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 024 để thay thế. Điều này rất giống với fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 32 ngoại trừ việc nó nhóm các phần tử của mảng thành một fruits.length = 10; console.log(fruits); // ['banana', 'apple', 'peach', empty x 2, 'mango', empty x 4] console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 10 console.log(fruits[8]); // undefined 025 có thể sử dụng một giá trị tùy ý (đối tượng hoặc nguyên thủy) làm khóa
Sau đây tạo một bàn cờ dưới dạng một chuỗi hai chiều. Bước đầu tiên được thực hiện bằng cách sao chép fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 34 trong fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 35 sang fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 36. Vị trí cũ tại fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 37 được để trống
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 4
Đây là đầu ra
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 5
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 6
Kết quả trong
fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 7
Kết quả của sự trùng khớp giữa một fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 38 và một chuỗi có thể tạo ra một mảng JavaScript có các thuộc tính và phần tử cung cấp thông tin về sự trùng khớp. Một mảng như vậy được trả về bởi fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 39 và fruits[5] = "mango"; console.log(fruits[5]); // 'mango' console.log(Object.keys(fruits)); // ['0', '1', '2', '5'] console.log(fruits.length); // 6 40