Làm cách nào để tạo mảng đa chiều trong JavaScript một cách linh hoạt?

Giống như tất cả ngôn ngữ tập lệnh​​, JavaScript có mảng động. kích thước của chúng không được xác định trước, cũng như loại dữ liệu

Chúng được khai báo bằng cách gán một chữ hoặc với một hàm tạo

Và từ dành riêng mới

var x = ["a", "b", "c"];    // literal

var x = new Array[];        // constructor
var y = new Array["a", "b", "c"]; // constructor with items

Lưu ý rằng nếu hàm tạo Array[] chỉ chứa một phần tử số, thì phần tử này xác định kích thước của mảng và không phải là phần tử của mảng

var x = new Array[5];    // empty array with 5 slots.
var x = new Array[1, 2]; // array holding two items, the 1 and 2 numbers.

Điều này có vẻ không mạch lạc lắm nhưng nó không quan trọng, bởi vì nếu chúng tôi muốn tạo một mảng gồm một số phần tử, chúng tôi sử dụng một chữ thay thế. Ví dụ

var x = [5];             // array holding only one item, the 5 number.

Người ta có thể xác minh nó với ví dụ sau

Một mảng được khai báo với hàm khởi tạo Array[5]. Mảng có nội dung trống được xuất ra, sau đó kích thước của nó.
Sau đó hàm tạo Array[1,2] với hai số được xuất ra.

var x = new Array[5];
document.writeln[x];
document.writeln[x.length];

x = new Array[1, 2];
document.writeln[x];

Giá trị bằng chữ của một mảng có thể có các biến

Danh sách các mục được đặt giữa các dấu ngoặc vuông và chứa mọi giá trị, số, chuỗi, đối tượng, được phân tách bằng dấu phẩy.
Dấu phẩy dùng để chỉ định số lượng phần tử, chúng có thể chứa khoảng trống.

x = [ "a", , , , "e"]

Chữ "e" nằm ở vị trí thứ 4 trong mảng. Dấu phẩy kết thúc được bỏ qua

Một biến có thể được đưa ra giống như phần tử của một mảng chữ, sau đó nội dung của nó sẽ được gán động cho mảng

Đối với một mảng chữ hai chiều, cú pháp là

x = [[ "a", "b", "c"] , [ 1,2,3]] 

Lập chỉ mục một mảng có thể cho nó kích thước của nó

Phần tử đầu tiên có vị trí 0. Người ta gán hoặc đọc nội dung của một mảng với chỉ số vị trí giữa các dấu ngoặc vuông

var x = new Array[];
alert[x[0]];     // reading
x[0] = "car"; // assigning

Nếu một vị trí khác của mảng đã được gán, ví dụ ở vị trí 5, thì mảng sẽ tự động được định lại kích thước với kích thước ít nhất là 6 phần tử, nếu kích thước cũ của nó là null hoặc nhỏ hơn 6 phần tử

Mảng được thêm vào dưới dạng mục này sang mục khác làm cho nó trở nên đa chiều

Một đa chiều được xây dựng bằng cách tạo một mảng các phần tử là các mảng khác

var a = new Array[
new Array[1, 2, 3],
new Array[4, 5, 6]];
document.write[a];

Kết quả

________số 8

Kết quả

a[0][0] = 1;
a[0][1] = 2;
a[0][2] = 3;
a[1][0] = 4;
a[1][1] = 5;
a[1][2] = 6;
document.write[a];

Kết quả

Ví dụ, mục trong mảng nhiều chiều có thể được truy cập bằng chuỗi chỉ số

var x = new Array[5];    // empty array with 5 slots.
var x = new Array[1, 2]; // array holding two items, the 1 and 2 numbers.
0

Điều đó sẽ xuất ra 6

Gán một mảng cho một biến, giá trị hoặc tham chiếu?

Khi chúng ta truyền một mảng làm đối số cho một hàm, thì mảng đó được truyền theo tham chiếu. Nói cách khác, nếu bạn thay đổi mảng trong hàm, thì mảng ban đầu được truyền cho hàm sẽ bị thay đổi

Nhưng khi bạn gán một mảng cho một biến, nó được gán theo tham chiếu hay theo giá trị?

var x = new Array[5];    // empty array with 5 slots.
var x = new Array[1, 2]; // array holding two items, the 1 and 2 numbers.
1

Chúng tôi tạo mảng x, sau đó gán nó cho y. Chúng tôi thêm một phần tử mới "bốn" vào x. Chúng tôi nhận thấy rằng yếu tố mới này cũng có trong y

Nếu bạn muốn sao chép một mảng, thay vào đó, hãy sử dụng phương thức slice trả về một bản sao của mảng [không phải tham chiếu đến nó]

Định nghĩa mảng javascript đã được giới thiệu ở bài viết trước. Tên bài viết là "Cách sử dụng mảng Javascript", giới thiệu định nghĩa, khởi tạo, thêm, sửa, xóa phần tử, sắp xếp, chặn mảng, hợp nhất và thoát ký tự. Bài này tiếp tục giới thiệu định nghĩa, khởi tạo và ứng dụng mảng đa chiều trong javascript

Mảng một chiều sử dụng các phương thức tương tự để thêm, xóa và sắp xếp các phần tử như mảng nhiều chiều trong javascript, ngoại trừ mảng nhiều chiều coi một đối tượng [bản ghi] là một phần tử. Để biết mô tả phương thức, vui lòng tham khảo bài viết " Sử dụng mảng Javascript[nhiều ví dụ, với định nghĩa ẩn, thêm thuộc tính,xóa,sắp xếp và nối]". Ngoài ra, javascript không có danh sách như C#, nhưng bạn có thể sử dụng mảng nhiều chiều để đạt được chức năng tương tự như danh sách. Bài viết sẽ giải thích bằng các ví dụ cụ thể, bắt đầu từ định nghĩa mảng đa chiều trong Javascript

 

I. Tạo mảng đa chiều trong javascript

Xác định mảng một chiều, sau đó sử dụng nó làm phần tử của mảng một chiều khác. Mảng mà lấy mảng làm phần tử này là mảng nhiều chiều [Array matrix], tức là mảng nhiều chiều là tổng hợp của nhiều mảng một chiều. Sau đây là một ví dụ về định nghĩa mảng đa chiều javascript

var mảng = mới Mảng[];
       mảng new Array["user1", "00001", "2014-5-15"];
       arrays[1] = new Array["user2", "00002", "2014-5-13"];
       arrays[2] = new Array["user3", "00003", "2014-5-10"];

 

Hoặc

var arrays = [
              ["user1 ", "00001", "2020-5-15"],
              ["user2", "00002", "2020-5-13"],
              ["user3", "00003", "2020-5-10"]
       ];

 

Javascript tự động tạo mảng đa chiều

var mảng = mới Mảng[];
       < for [var i = 0; i < 10; i++] {
              arrays[i] = new Array["user" + i, "0000" + i, "2014-5-15"];
       }

 

II. Mảng đa chiều Javascript để thêm các phần tử

1. Thêm một bản ghi [các mục] sau khi kết thúc mảng [Đẩy mảng đa chiều Javascript]

mảng. đẩy[[ "user4" , "00004" , "2020-5-16"]];

Xuất phần tử tương ứng tại giao điểm của cột đầu tiên và hàng thứ ba

tài liệu. write[arrays[3][1]]; //Kết quả. 00004

 

2. Thêm một bản ghi [các mục] sau khi bắt đầu mảng [Đẩy mảng đa chiều Javascript]

mảng. unshift[[ "user4" , "00004" , "2020-5-16"]];//Add elements [item] before the first line

Xuất tất cả các phần tử

for [ var i = 0; i < mảng. chiều dài; . chiều dài; . write[arrays[i][j]];
              for [var j = 0; j < arrays[i].length; j++]{
                     document.write[arrays[i][j]];
                      if [j < arrays[i]. độ dài - 1]{
                            tài liệu. write[ ", " ];
                     }
              }
              document.write["" ];
       }

Kết quả

user4, 00004, 2020-5-16
       user1, 00001, 2020-5-15
       user2, 00002, 2020-5-13
       user3, 00003, 2020-5-10

 

3. Thêm các phần tử sau các dòng hiện có [đẩy mảng đa chiều Javascript]

mảng[1]. đẩy[[ "user4" , "00004" , "2020-5-16"]];//Add elements after the first line

Xuất tất cả các phần tử dưới dạng [xem ở trên để biết phương thức xuất]

user1, 00001, 2020-5-15
       user2, 00002, 2020-5-13, user4,00004,2020-5-16
       user3, 00003, 2020-5-10

 

4. Xóa hai bản ghi [mục] khỏi vị trí đã chỉ định rồi chèn một bản ghi

mảng. splice[1,2,[ "user4" , "00004", "2020-5-16"]];//Delete two records[items] from the second record and insert one record

Xuất tất cả các phần tử dưới dạng [xem ở trên để biết phương thức xuất]

user1, 00001, 2020-5-15
       user4, 00004, 2020-5-16

 

 

III. Cách xóa phần tử khỏi mảng đa chiều javascript

1. Xóa phần tử cuối cùng của dòng được chỉ định

mảng[1]. pop[]; //Xóa phần tử cuối cùng của dòng thứ hai

đầu ra là

user1, 00001, 2020-5-15
       user2, 00002
       user3, 00003, 2020-5-10

 

2. Xóa bản ghi cuối cùng trong mảng

mảng. nhạc pop[];

đầu ra là

user1, 00001, 2020-5-15
       user2, 00002, 2020-5-1

 

3. Xóa phần tử đầu tiên của dòng được chỉ định

mảng[1]. pop[]; //Xóa phần tử đầu tiên của dòng thứ hai

đầu ra là

user1, 00001, 2020-5-15
       00002, 2020-5-13
       user3, 00003, 2020-5-10

Chủ Đề