Xóa mảng khỏi JavaScript mảng đa chiều

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

Xóa mảng khỏi JavaScript mảng đa chiều

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

Xóa mảng khỏi JavaScript mảng đa chiều

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

Xóa mảng khỏi JavaScript mảng đa chiều

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

Xóa mảng khỏi JavaScript mảng đa chiều

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

Xóa mảng khỏi JavaScript mảng đa chiều

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ó

Làm cách nào để xóa khỏi một mảng JavaScript nhiều chiều?

Xóa phần tử trong Mảng đa chiều. Chúng ta có thể sử dụng các phương thức pop() để xóa các phần tử khỏi mảng bên trong và cũng có thể sử dụng phương thức pop() để xóa toàn bộ mảng bên trong.

Bạn có thể xóa khỏi mảng 2D không?

Để xóa một hàng hoặc cột trong mảng 2D, nhấp chuột phải vào hàng hoặc cột của mảng và chọn Thao tác dữ liệu»Xóa hàng hoặc Xóa cột. You also can programmatically delete elements, rows, columns, and pages within arrays.

Làm cách nào chúng ta có thể chuyển đổi một mảng nhiều chiều thành chuỗi mà không cần bất kỳ vòng lặp nào?

Có thể trong trường hợp bạn cần chuyển đổi một mảng nhiều chiều thành một chuỗi, bạn có thể muốn sử dụng hàm print_r() . Đây còn được gọi là “mảng có phím”. Bằng cách thêm “true” làm tham số thứ hai, tất cả nội dung của mảng sẽ được chuyển thành chuỗi.

Làm cách nào để cắt mảng 2D trong JavaScript?

Trong ví dụ này, chúng ta sử dụng phương thức slice() bên trong vòng lặp for để lặp qua mảng và sao chép tất cả các phần tử của nó. .
mảng var = [
['a', 'b'],
['đĩa CD']
bản sao var = [];
for (var i = 0; i < mảng. chiều dài;
bản sao [i] = mảng [i]. lát cắt();