Javascript tạo mảng trống và thêm các mục

Nếu bạn có một danh sách các mục (ví dụ: danh sách tên ô tô), việc lưu trữ ô tô trong các biến đơn lẻ có thể trông như thế này

let car1 = "Saab";
let car2 = "Volvo";
let car3 = "BMW";

Tuy nhiên, nếu bạn muốn đi vòng qua các ô tô và tìm một ô tô cụ thể thì sao?

Giải pháp là một mảng

Một mảng có thể chứa nhiều giá trị dưới một tên duy nhất và bạn có thể truy cập các giá trị bằng cách tham chiếu đến một số chỉ mục


Tạo một mảng

Sử dụng một mảng chữ là cách dễ nhất để tạo một mảng JavaScript

cú pháp

const tên_mảng = [mục1,mục2,. ];

Một thực tế phổ biến là khai báo mảng với từ khóa const

Tìm hiểu thêm về const với mảng trong chương. Mảng JS Const

Dấu cách và ngắt dòng không quan trọng. Một khai báo có thể trải rộng trên nhiều dòng

Bạn cũng có thể tạo một mảng rồi cung cấp các phần tử

Thí dụ

const cars = [];
cars[0]= "Saab";
cars[1]= "Volvo";
cars[2]= "BMW";

Tự mình thử »


Sử dụng Từ khóa JavaScript mới

Ví dụ sau cũng tạo một Array và gán giá trị cho nó

Hai ví dụ trên làm hoàn toàn giống nhau

Không cần sử dụng

const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
0

Để đơn giản, dễ đọc và tốc độ thực thi, hãy sử dụng phương thức ký tự mảng



Truy cập các phần tử mảng

Bạn truy cập một phần tử mảng bằng cách tham khảo số chỉ mục

Ghi chú. Chỉ mục mảng bắt đầu bằng 0

[0] là phần tử đầu tiên. [1] là phần tử thứ hai


Thay đổi một phần tử mảng

Câu lệnh này thay đổi giá trị của phần tử đầu tiên trong

const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
1


Truy cập toàn bộ mảng

Với JavaScript, toàn bộ mảng có thể được truy cập bằng cách tham khảo tên mảng

Thí dụ

const cars = ["Saab", "Volvo", "BMW"];
tài liệu. getElementById("bản trình diễn"). innerHTML = ô tô;

Tự mình thử »


Mảng là đối tượng

Mảng là một loại đối tượng đặc biệt. Toán tử

const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
2 trong JavaScript trả về "đối tượng" cho mảng

Tuy nhiên, mảng JavaScript được mô tả tốt nhất là mảng

Mảng sử dụng số để truy cập "phần tử" của nó. Trong ví dụ này,

const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
3 trả về John

Các đối tượng sử dụng tên để truy cập "thành viên" của nó. Trong ví dụ này,

const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
4 trả về John


Các phần tử mảng có thể là đối tượng

Biến JavaScript có thể là đối tượng. Mảng là loại đối tượng đặc biệt

Do đó, bạn có thể có các biến thuộc các loại khác nhau trong cùng một Mảng

Bạn có thể có các đối tượng trong một Mảng. Bạn có thể có các chức năng trong một Mảng. Bạn có thể có các mảng trong một Mảng

Đối với hai bài tập trong tập thể dục. io (Ma trận và Tam giác Pascal), tôi muốn tạo một mảng các mảng trống. Có rất nhiều cách để làm điều này. Tâm trí người mới của tôi mặc định là vòng lặp

const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
5,
const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
6 hoặc vòng lặp
const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
7. Tuy nhiên cũng có một số tùy chọn khác

Tôi thấy bài viết stackoverflow này hữu ích. Tôi đã tìm hiểu về hai tùy chọn mới từ bài báo

lựa chọn 1. Mảng. nguyên mẫu. điền
const emptyRows = new Array(4).fill([]);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [circular object array], [circular object array], [circular object array]] in CodePen

Điều này có vẻ thực sự thanh lịch và thật dễ dàng để đọc mã và hiểu những gì nó làm. Tuy nhiên, đầu ra CodePen làm tôi bối rối.

const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
8 là gì?

Thậm chí còn khó hiểu hơn, khi tôi sử dụng mã này và gọi phương thức

const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
0, tôi gặp phải một lỗi nghiêm trọng. Đống JavaScript hết bộ nhớ. Tôi cung không chăc tại sao. Tôi cho rằng tùy chọn này sẽ hoạt động tốt nếu tôi lấp đầy mảng bằng thứ gì đó không phải là
const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
9

Lựa chọn 2. Mảng. từ 1

Tùy chọn này hoạt động tốt. Không có lỗi nghiêm trọng đối với tôi. Tôi không hiểu lắm về cách thức hoạt động của nó, ngay cả với lời giải thích về StackOverflow. Nhưng đây là nỗ lực của tôi để phá vỡ nó

const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
2 tạo một mảng gồm bốn đối tượng
const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
0.
const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
1

const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
2 lặp qua từng phần tử
const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
0 và thay thế nó bằng
const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
9. Tuy nhiên, bạn không thể sử dụng
const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
5. Đây là một chút tôi không hiểu lắm. Tức là không hiểu tại sao
const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
6 lại khác và không dùng được. Nhưng tiếp tục

const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
7 tạo một mảng từ cái này. Theo suy nghĩ của tôi, các ví dụ trên tài liệu dành cho nhà phát triển Mozilla trải qua các trường hợp sử dụng đơn giản hơn, vì vậy điều này cũng không có ý nghĩa gì đối với tôi. Cụ thể là tại sao tôi lại cần
const emptyRows = Array.from(Array(4), () => []);console.log(emptyRows);  
// returns [[], [], [], []] in Sublime
// returns [[], [], [], []] in CodePen
7? . Hy vọng rằng trong tương lai tôi sẽ hiểu cách thức hoạt động của nó

Bạn có thể thêm các phần tử vào một mảng JavaScript không?

Khi bạn muốn thêm một phần tử vào cuối mảng của mình, hãy sử dụng hàm push() . Nếu bạn cần thêm một phần tử vào đầu mảng của mình, hãy thử unshift(). Và bạn có thể thêm các mảng lại với nhau bằng cách sử dụng concat().

{} và [] trong JavaScript là gì?

{} là cách viết tắt để tạo một đối tượng trống . Có thể coi đây là cơ sở cho các loại đối tượng khác. Đối tượng cung cấp liên kết cuối cùng trong chuỗi nguyên mẫu có thể được sử dụng bởi tất cả các đối tượng khác, chẳng hạn như Mảng. [] là cách viết tắt để tạo một mảng trống.

Bạn có thể khai báo một mảng trống trong JavaScript không?

Có ba cách để bạn có thể tạo một mảng trống bằng JavaScript. Hướng dẫn này sẽ giúp bạn tìm hiểu tất cả. Cách thứ nhất là bạn có thể lấy một mảng trống bằng cách gán ký hiệu ký tự mảng cho một biến như sau. hãy để firstArr = [];

Bạn có thể tạo một mảng trống không?

Cú pháp tạo mảng rỗng. $emptyArray = []; . While push an element to the array it can use $emptyArray[] = “first”.