• javascript二维数组(15)


    二维数组

    一种数组,其元素本身也是数组。换句话说,二维数组可以看作是包含其他数组的数组。这些子数组可以包含任意数量的元素。

    创建二维数组的一种常见方法是使用方括号 [],并在其中指定初始元素。

    以下是如何创建和操作二维数组的示例:

    // 创建一个 2x2 的二维数组
    var matrix = [[1, 2], [3, 4]];
    
    // 访问二维数组的元素
    console.log(matrix[0][0]); // 输出 1
    console.log(matrix[1][1]); // 输出 4
    
    // 修改二维数组的元素
    matrix[0][1] = 5;
    console.log(matrix); // 输出 [[1,5],[3,4]]
    
    // 添加新的行或列
    matrix[2] = [6, 7]; // 添加新的行
    matrix[0][3] = 8; // 添加新的列
    console.log(matrix); // 输出 [[1,5],[3,4],[6,7],[8,null]]
    
    // 使用 forEach 方法遍历二维数组
    matrix.forEach(function(row) {
        row.forEach(function(element) {
            console.log(element);
        });
    });
    // 输出:
    // 1
    // 5
    // 3
    // 4
    // 6
    // 7
    // 8
    // undefined (最后一行,因为最后一列没有给出明确的值)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    请注意,JavaScript 的数组索引从 0 开始,所以第一个元素的索引是 [0][0],第二个元素的索引是 [0][1],以此类推。你可以使用这个索引来访问和修改二维数组中的元素。另外,你也可以使用 push 方法添加新的行或列。

    二维数组应用场景

    1. 存储和操作数据:二维数组常常被用来存储和操作成对或者成组的数据。例如,你可能有一个棋盘,其是一个 8x8 的二维数组,用来表示一个棋盘上的每个位置的状态(例如黑棋、白棋、空位)。
    2. 存储和操作矩阵:在数学上,二维数组可以用来表示矩阵。矩阵是一个由数值组成的一个矩形阵列,其组成部分的值都在特定的行和列中。例如,可以用二维数组来实现矩阵的加法、减法、乘法等操作。
    3. 存储和操作图像:在图像处理中,二维数组常常用来表示图像。图像可以看作是一个由像素组成的二维数组,每个像素都可以有一个或多个通道(例如红色、绿色、蓝色通道来组成彩色图像)。
    4. 存储和操作点:在图形学中,二维数组经常用来表示二维空间中的点。每个点可以用两个值(x和y坐标)来表示。
    5. 存储和操作复杂的数据结构:在一些复杂的数据结构(如堆栈、队列)中,可以使用二维数组来表示和操作这些数据结构。
    6. 动态创建表格:在网页开发中,二维数组经常用于动态创建HTML表格。通过嵌套循环,我们可以遍历二维数组,从而为每个元素创建一个HTML表格行和一个单元格。

    二维数组常见操作

    1. 创建二维数组
    let twoDimensionalArray = new Array(3); // 创建一个空数组,可以存储3个元素
    for(let i = 0; i < threeDimensionalArray.length; i++) {
        twoDimensionalArray[i] = new Array(2); // 为每个元素创建一个一维数组,每个元素都可以存储2个值
    }
    
    • 1
    • 2
    • 3
    • 4
    1. 获取二维数组的长度
    let twoDimensionalArray = [[1, 2], [3, 4], [5, 6]];
    console.log(twoDimensionalArray.length); // 输出 3,这是二维数组中第一个维度的长度
    
    • 1
    • 2
    1. 获取二维数组特定位置的值
    let twoDimensionalArray = [[1, 2], [3, 4], [5, 6]];
    console.log(twoDimensionalArray[1][0]); // 输出 3,这是二维数组第二个一维数组的第一个元素
    
    • 1
    • 2
    1. 设置二维数组特定位置的值
    let twoDimensionalArray = [[1, 2], [3, 4], [5, 6]];
    twoDimensionalArray[1][0] = 4; // 将第二个一维数组的第一个元素设置为4
    
    • 1
    • 2
    1. 使用 forEach 对二维数组的每个元素进行操作
    let twoDimensionalArray = [[1, 2], [3, 4], [5, 6]];
    twoDimensionalArray.forEach(function(row) {
        row.forEach(function(item) {
            console.log(item); // 对每个元素进行操作
        });
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    1. 使用 map 对二维数组的每个元素进行操作并返回新数组
    let twoDimensionalArray = [[1, 2], [3, 4], [5, 6]];
    let newArray = twoDimensionalArray.map(function(row) {
        return row.map(function(item) {
            return item * 2; // 对每个元素进行操作并返回新的一维数组
        });
    });
    console.log(newArray); // 输出处理后的新二维数组
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    1. 对二维数组进行转置
      这个稍微复杂一点,但可以用以下的方法实现:
    let twoDimensionalArray = [[1, 2], [3, 4], [5, 6]];
    let newArray = twoDimensionalArray.map((row, i) => twoDimensionalArray.map((item, j) => (i === j ? item : [])).filter(x => x));
    console.log(newArray); // 处理后的新二维数组,实现了转置操作
    
    • 1
    • 2
    • 3
  • 相关阅读:
    dll修复精灵,dll修复工具下载方法分享,mfc140u.dll缺失损坏一键修复
    Python 题库自动化面试题
    AI机器视觉多场景应用迸发检测活力,引领食品及包装行业新发展
    2024.6.2练习情况—整数二分
    景区AR虚拟三维场景沉浸式体验成为新兴的营销手段
    AI图书推荐:AI股票投资入门手册
    (附源码)ssm捐赠救助系统 毕业设计 060945
    accelerate 分布式技巧(一)
    C++ 基础入门
    【MySQL 安装】基本操作命令
  • 原文地址:https://blog.csdn.net/weixin_41290949/article/details/133652795