Chào mọi người,
Có cách nào để loại bỏ hoàn toàn một mục nhập mảng khỏi đa chiều không
mảng?
một mục nhập mảng trống
Ví dụ
mainArray = [[arry0],[arry1],[arry2],[arry3],[arry4]]
Ví dụ về các mảng lồng nhau
arry0 = ["text0","text1","text2","text3","text4","text5 "]
arry1 = ["text0","text1","text2","text3"]
vân vân
Các mảng lồng nhau là các mảng chuỗi và có độ dài khác nhau. Làm sao
có loại bỏ hoàn toàn một trong các mảng lồng nhau khỏi mainArry không?
david j
Mảng đa chiều trong JavaScript không được hỗ trợ theo mặc định. Để sử dụng cấu trúc dữ liệu hoạt động như các mảng nhiều chiều, chúng ta cần tạo các mảng một chiều khác nhau và đặt chúng bên trong một mảng một chiều khác
Mục lục
Mảng đa chiều trong JavaScript là gì?
Mảng đa chiều trong JavaScript là một mảng của các mảng. Mảng chứa cho các mảng một chiều đó sẽ được sử dụng và thao tác như mảng nhiều chiều
Có hai cách khác nhau để tạo nó mà chúng tôi sẽ minh họa trong bài viết này sau này, tuy nhiên, cách tiếp cận phổ biến nhất được gọi là Array Literals
Bây giờ chúng ta hãy thảo luận về cả hai cách tiếp cận với một ví dụ, trong đó chúng ta sẽ chỉ lưu trữ một vài tên người dùng và tuổi của họ trong các mảng
Tạo mảng đa chiều trong JavaScript
Phương pháp #01. Truyền các mảng 1D đã xác định trong mảng vùng chứa
Sau đây là hai bước liên quan đến phương pháp tạo mảng đa chiều này
- Xác định các mảng 1D khác nhau, sẽ được thao tác dưới dạng các mục mảng
- Chuyển mảng ban đầu đã xác định đó sang mảng 1D khác, mảng đó sẽ đóng vai trò là vùng chứa cho chúng
Nhìn vào ví dụ dưới đây để hiểu quá trình
//Step#01: Define some 1D Arrays var arr1 = ["John", 23]; var arr2 = ["Charles", 28]; var arr3 = ["Taylor", 21]; var arr4 = ["Gennifer", 30]; var arr5 = ["Bob", 22]; //Step#02: "userData" defines like a 1D array but it actually contains some 1D arrays to behave like a multidimensional array var userData = [arr1, arr2, arr3, arr4, arr5];
Ở đây mảng1, mảng2, mảng3, mảng4 và mảng5 là các mảng một chiều khác nhau, sau đó được chuyển vào mảng userData[]. userData[] bản thân nó là một mảng 1D, nhưng vì nó có nhiều mảng khác nhau như các mục của nó nên nó sẽ hoạt động giống như một mảng 2D đa chiều
Phương pháp #02. Sử dụng Array Literal Notation
Trong phương thức mảng chữ, các mảng một chiều được định nghĩa trực tiếp trong mảng nhiều chiều vùng chứa. Xem ví dụ bên dưới
var userData = [ ["John", 23], ["Charles", 28], ["Taylor", 21], ["Gennifer", 30], ["Bob", 22] ];
Một lần nữa, userData[] sẽ đóng vai trò là mảng đa chiều cho các mảng một chiều riêng lẻ
Truy cập mảng đa chiều trong JavaScript
Để truy cập phần tử ab từ một mảng nhiều chiều, chúng ta cần áp dụng cách tiếp cận dựa trên chỉ mục. Chúng tôi sẽ chuyển hai chỉ mục trong dấu ngoặc vuông, chỉ mục đầu tiên sẽ chỉ ra hàng và chỉ mục thứ hai sẽ chỉ ra cột
Như vậy, userData[1][0] sẽ tìm nạp “Charles” từ mảng. Cách tiếp cận này hoạt động cho cả hai phương pháp tạo mảng đa chiều
Bây giờ hãy truy cập tất cả các phần tử của mảng hai chiều của chúng ta. Với mục đích đó, chúng ta cần sử dụng các vòng lặp lồng nhau để có thể lặp qua các phần tử của toàn bộ mảng. Xem ví dụ dưới đây để hiểu khái niệm
Mã số
var userData = [ ["John", 23], ["Charles", 28], ["Taylor", 21], ["Gennifer", 30], ["Bob", 22] ]; //loop for outer array acting as container for(var i = 0; i < userData.length; i++){ //loop for inner arrays acting as items for(var j = 0; j < userData[i].length; j++){ //printing the individual items console.log(userData[i][j]); } }
đầu ra
Thêm các phần tử mới vào mảng đa chiều
Các phần tử có thể được thêm hai cả mảng bên trong và mảng bên ngoài. Có hai cách để chúng ta có thể thêm các phần tử vào mảng bên trong. Một là chỉ cần sử dụng các chỉ số có dấu ngoặc vuông để gán giá trị và cách còn lại là sử dụng phương thức push()
Xem các ví dụ dưới đây cho cả hai cách có thể
Thêm các phần tử vào mảng bên trong
Ký hiệu khung vuông để thêm các phần tử mới vào mảng bên trong
userData[4][2] = 25;
Điều này sẽ thêm 25 làm phần tử mới trong mảng đã chứa “Bob” và 22
Sử dụng phương thức push() để thêm các phần tử mới vào mảng bên trong
Sau đây là đoạn mã minh họa phương thức push()
userData[4].push(25);
đầu ra
Thêm các phần tử vào mảng bên ngoài
Để thêm các phần tử mới vào mảng bên ngoài hoặc mảng chứa, bạn không nhất thiết phải truyền chỉ mục. Phương thức push() sẽ tự động thêm mục mới vào cuối đối tượng mảng
userData.push(["Justin", 29]);
đầu ra
Có thể thấy, [“justin”, 29] đã được thêm vào cuối mảng userData[]
Xóa các phần tử khỏi mảng đa chiều
Để loại bỏ các phần tử của cả mảng bên ngoài và mảng bên trong, chúng ta có thể sử dụng phương thức pop()
Sử dụng phương thức pop() trên Inner Array
Trong trường hợp mảng bên trong, phương thức pop() sẽ xóa phần tử cuối cùng của mảng đã chỉ định bằng cách sử dụng chỉ mục. Kiểm tra ví dụ dưới đây
userData[3].pop();
Trong trường hợp này, nó sẽ xóa mục cuối cùng khỏi mảng có chỉ số là 3. Vì vậy, sau Gennifer sẽ không có yếu tố tuổi tác trong trường hợp của chúng tôi
đầu ra
Sử dụng Phương thức pop() trên Mảng ngoài
Trong trường hợp mảng bên ngoài, phương thức pop() sẽ loại bỏ toàn bộ mảng cuối cùng
userData.pop();
đầu ra
Theo quan sát, mục mảng của [“Justin”, 29] đã bị xóa hoàn toàn
Phần kết luận
Trong bài viết này, chúng ta đã thảo luận về khái niệm mảng nhiều chiều trong JavaScript. Tuy nhiên, nói chung JavaScript không hỗ trợ mảng nhiều chiều, nhưng chúng ta đã thấy cách tạo chúng với sự trợ giúp của một số mảng 1D
Sau đó, chúng tôi đã thực hiện các thao tác mảng trên mảng đa chiều JavaScript mà chúng tôi đã tạo bằng các ví dụ mã hóa và kết quả đầu ra của chúng đã giúp chúng tôi hiểu khái niệm này
Nếu bạn đang học lập trình từ đầu hoặc mới bắt đầu học JavaScript, bài viết này có thể giúp bạn hiểu một số khái niệm cơ bản về cấu trúc dữ liệu mảng và kích thước của nó