📜  javascript 二维数组 - Javascript (1)

📅  最后修改于: 2023-12-03 15:31:40.702000             🧑  作者: Mango

Javascript 二维数组

在Javascript中实现二维数组非常简单。二维数组是将一维数组作为元素的数组。一个二维数组可以看作是一个矩阵,行表示第一个下标,列表示第二个下标。

创建二维数组

创建一个二维数组需要使用数组的数组表示方法,如以下代码所示:

let arr = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
];

这里定义了一个3行3列的二维数组。

访问和修改二维数组元素

要访问二维数组中的一个元素,需要使用两个下标。例如,要访问第一个元素,可以使用下面的代码:

console.log(arr[0][0]); // 输出 1

要修改二维数组中的一个元素,可以使用同样的语法。例如,将第一个元素设置为10:

arr[0][0] = 10;
遍历二维数组

要遍历一个二维数组,需要使用双重循环,如下所示:

for(let i=0; i < arr.length; i++) {
  for(let j=0; j < arr[i].length; j++) {
    console.log(arr[i][j]); // 输出每个元素
  }
}

这里使用了两个变量i、j分别表示行和列的下标。通过外层循环遍历每一行,内层循环遍历每一列。

实现二维数组常见操作
转置

要对一个二维数组执行转置操作,需要交换每个元素的行和列下标,如下所示:

function transpose(arr) {
  let result = [];
  for(let i=0; i < arr[0].length; i++) {
    result[i] = [];
    for(let j=0; j < arr.length; j++) {
      result[i][j] = arr[j][i];
    }
  }
  return result;
}

let transposedArr = transpose(arr);
扁平化

要将一个二维数组扁平化,可以使用reduce函数,如下所示:

function flatten(arr) {
  return arr.reduce(function(prev, curr) {
    return prev.concat(curr);
  });
}

let flattenedArr = flatten(arr);
排序

要对一个二维数组按照某个元素进行排序,可以使用sort函数和比较函数,如下所示:

function sortByColumn(arr, column) {
  return arr.sort(function(a, b) {
    return a[column] > b[column] ? 1 : -1;
  });
}

let sortedArr = sortByColumn(arr, 1);

这里传入了列的索引作为参数,将按照该列进行排序。

总结

二维数组在Javascript中的实现非常简单,可以使用数组的数组表示方法。要访问和修改二维数组中的元素,需要使用两个下标。要对二维数组进行常见操作,可以使用双重循环、reduce函数和sort函数等。