Mảng đa chiều JavaScript

Trong hướng dẫn này, bạn sẽ tìm hiểu về mảng đa chiều JavaScript với sự trợ giúp của các ví dụ.

Mảng nhiều chiều là một mảng chứa một mảng khác. Ví dụ,

 // multidimensional array const data = ((1, 2, 3), (1, 3, 4), (4, 5, 6));

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

Đây là cách bạn có thể tạo mảng nhiều chiều trong JavaScript.

ví dụ 1

 let studentsData = (('Jack', 24), ('Sara', 23), ('Peter', 24));

Ví dụ 2

 let student1 = ('Jack', 24); let student2 = ('Sara', 23); let student3 = ('Peter', 24); // multidimensional array let studentsData = (student1, student2, student3);

Ở đây, cả ví dụ 1 và ví dụ 2 đều tạo ra một mảng nhiều chiều với cùng một dữ liệu.

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

Bạn có thể truy cập các phần tử của một mảng nhiều chiều bằng cách sử dụng các chỉ số (0, 1, 2…) . Ví dụ,

 let x = ( ('Jack', 24), ('Sara', 23), ('Peter', 24) ); // access the first item console.log(x(0)); // ("Jack", 24) // access the first item of the first inner array console.log(x(0)(0)); // Jack // access the second item of the third inner array console.log(x(2)(1)); // 24

Bạn có thể nghĩ về một mảng nhiều chiều (trong trường hợp này là x), như một bảng có 3 hàng và 2 cột.

Truy cập các phần tử mảng đa chiều

Thêm một phần tử vào một mảng đa chiều

Bạn có thể sử dụng phương thức push () của Array hoặc ký hiệu lập chỉ mục để thêm các phần tử vào một mảng nhiều chiều.

Thêm phần tử vào mảng ngoài

 let studentsData = (('Jack', 24), ('Sara', 23),); studentsData.push(('Peter', 24)); console.log(studentsData); //(("Jack", 24), ("Sara", 23), ("Peter", 24)

Thêm phần tử vào mảng bên trong

 // using index notation let studentsData = (('Jack', 24), ('Sara', 23),); studentsData(1)(2) = 'hello'; console.log(studentsData); // (("Jack", 24), ("Sara", 23, "hello"))
 // using push() let studentsData = (('Jack', 24), ('Sara', 23),); studentsData(1).push('hello'); console.log(studentsData); // (("Jack", 24), ("Sara", 23, "hello"))

Bạn cũng có thể sử dụng phương thức splice () của Array để thêm một phần tử tại một chỉ mục được chỉ định. Ví dụ,

 let studentsData = (('Jack', 24), ('Sara', 23),); // adding element at 1 index studentsData.splice(1, 0, ('Peter', 24)); console.log(studentsData); // (("Jack", 24), ("Peter", 24), ("Sara", 23))

Xóa một phần tử khỏi một mảng đa chiều

Bạn có thể sử dụng phương thức pop () của Array để xóa phần tử khỏi mảng nhiều chiều. Ví dụ,

Xóa phần tử khỏi mảng ngoài

 // remove the array element from outer array let studentsData = (('Jack', 24), ('Sara', 23),); studentsData.pop(); console.log(studentsData); // (("Jack", 24))

Xóa phần tử khỏi mảng bên trong

 // remove the element from the inner array let studentsData = (('Jack', 24), ('Sara', 23)); studentsData(1).pop(); console.log(studentsData); // (("Jack", 24), ("Sara"))

Bạn cũng có thể sử dụng splice()phương pháp để loại bỏ một phần tử tại một chỉ mục được chỉ định. Ví dụ,

 let studentsData = (('Jack', 24), ('Sara', 23),); // removing 1 index array item studentsData.splice(1,1); console.log(studentsData); // (("Jack", 24))

Lặp lại trên mảng đa chiều

Bạn có thể lặp qua một mảng nhiều chiều bằng cách sử dụng phương thức forEach () của Array để lặp qua mảng nhiều chiều. Ví dụ,

 let studentsData = (('Jack', 24), ('Sara', 23),); // iterating over the studentsData studentsData.forEach((student) => ( student.forEach((data) => ( console.log(data); )); ));

Đầu ra

 Jack 24 Sara 23

forEach()Phương thức đầu tiên được sử dụng để lặp qua các phần tử mảng bên ngoài và phương thức thứ hai forEach()được sử dụng để lặp qua các phần tử mảng bên trong.

Bạn cũng có thể sử dụng for… ofvòng lặp để lặp qua mảng đa chiều. Ví dụ,

 let studentsData = (('Jack', 24), ('Sara', 23),); for (let i of studentsData) ( for (let j of i) ( console.log(j); ) )

Bạn cũng có thể sử dụng vòng lặp for để lặp lại trên một mảng đa chiều. Ví dụ,

 let studentsData = (('Jack', 24), ('Sara', 23),); // looping outer array elements for(let i = 0; i < studentsData.length; i++)( // get the length of the inner array elements let innerArrayLength = studentsData(i).length; // looping inner array elements for(let j = 0; j < innerArrayLength; j++) ( console.log(studentsData(i)(j)); ) )

thú vị bài viết...