数据结构和算法中最基础的就是数组了,关于数组的定义、存取、遍历等一些基础操作就不讲了,相信大家都已熟练掌握,我这里就不再赘述了。今天讲一讲二维数组。
二维数组简单讲就是:数组元素是数组的数组(莫名拗口),但其实也不难理解。看个例子就完全明白了:
var grades = [[10, 20, 30], [40, 50,60], [70, 80, 90]]
数组grades的每一个元素都是数组。相当于构建了一个3x3的数据表格:
10 20 30
40 50 60
70 80 90
遍历二维数组
遍历二维数组有两种方式:按行遍历,按列遍历。
先来看按行遍历
以上面定义的grades为例,我们来求取每行的平均值。很容易想到我们需要做一个嵌套循环,外层循环对应行,内层循环对应列。然后把每行的值相加再求平均值。
function traverseRows(arr) {
var rows = arr.length
for (var i = 0; i < rows; i++) {
var inlen = arr[i].length,
total = 0
for (var j = 0; j < inlen; j++) {
total += arr[i][j]
}
console.log('第' + i + '行平均数:' + total / inlen)
}
}
traverseRows(grades)
</