JavaScript中2位數組是一種非常常用的數據結構,它可以讓我們在一維數組的基礎上更靈活的存儲和處理數據。一個2位數組就是一個數組的數組,可以看作是一個由n個包含m個元素的數組組成的矩陣。下面我們就來詳細了解一下JavaScript中2位數組的使用方法。
首先我們來看一下2位數組的創建方式。一個簡單的例子就是下面的代碼:
var arr = new Array(3); // 創建一個3行的二維數組 for(var i = 0; i < 3; i++){ arr[i] = new Array(4); // 每行都有4列 }
上面的代碼創建了一個3x4的二維數組,可以想象成一個3行4列的表格。我們可以通過下標來訪問和修改其中的元素,例如arr[1][2]代表第2行第3列的元素。
2位數組非常適合用來存儲二維表格數據,例如下面這個例子:
var students = [ ['John', 'Male', 85, 80, 90], ['Lisa', 'Female', 75, 85, 95], ['Mike', 'Male', 80, 75, 85] ];
這個2位數組存儲了3名學生的基本信息以及各科成績,第一行是表頭,后面的每一行代表一個學生的信息。例如students[1][2]代表Lisa的數學成績85分。我們可以使用雙重循環來遍歷整個表格,例如:
for(var i = 0; i < students.length; i++){ for(var j = 0; j < students[i].length; j++){ console.log(students[i][j]); } }
上面的代碼會依次輸出表格中的每一個元素。
2位數組還可以用來進行矩陣運算,例如矩陣的加法、減法和乘法等。下面我們來看一個矩陣乘法的例子:
var A = [ [1, 2], [3, 4], [5, 6] ]; var B = [ [7, 8, 9], [10, 11, 12] ]; if(A[0].length != B.length){ // 檢查是否可以相乘 console.log('Error: matrix size not match'); } else { var C = new Array(A.length); // 結果矩陣的行數與A相同,列數與B相同 for(var i = 0; i < A.length; i++){ C[i] = new Array(B[0].length); for(var j = 0; j < B[0].length; j++){ var sum = 0; for(var k = 0; k < A[0].length; k++){ sum += A[i][k] * B[k][j]; } C[i][j] = sum; } } console.log(C); // 輸出結果矩陣 }
上面的代碼會將兩個矩陣進行相乘,并輸出結果矩陣C。注意矩陣A的列數必須等于矩陣B的行數才能進行相乘。
2位數組在數據處理和科學計算中都有廣泛的應用,掌握了其操作方法就可以輕松地處理各種復雜數據結構。不過在使用時需要注意數組的下標范圍,以免出現數組越界等錯誤。