JavaScript 数组操作详解:矩阵转置与常用方法解析

作者:函数茶馆

时间:2026-10-24

浏览:174

本文详细解析 JavaScript 中二维数组的创建与遍历,通过 res[i][j] = arr[j][i] 规律实现矩阵转置。深入讲解 push、pop 等栈队列方法,indexOf、includes 等检索技巧,以及 join、slice 等字符串转换与数组操作,帮助开发者掌握核心数组 API。

文章目录

本文将深入探讨 JavaScript 中常见的数组处理方法,若您具备线性代数基础,对矩阵转置的概念应当并不陌生。

接下来,我们将尝试利用 JavaScript 数组来实现矩阵的转置操作。

请继续阅读下文,希望这些内容能为您带来启发,也让作者的编写工作变得更有价值。

一、常见二维数组操作

🌴创建与遍历

此前章节已介绍一维数组的多种创建方式,掌握后,二维数组的构建便显得简单许多,只需将数组元素设置为另一个数组即可。

一、常见二维数组操作

💡 在构建完二维数组后,如何遍历其中的元素并进行相应操作呢?

  • 一维数组可通过 for、for…in 或 for…of(ES6 提供)进行遍历。
  • 对于二维数组,只需在遍历外层数组后,再次遍历内部数组的元素即可。

此外,在 Web 项目开发中,常通过向多维空数组添加元素的方式来构建多维数组。以下以添加二维空数组元素为例进行演示。

一、常见二维数组操作

若需为二维数组元素(如 arr[i][0])赋值,必须确保添加的元素(如 arr[i])已创建为数组,否则程序将抛出“Uncaught TypeError……”错误。

📌注意

在构建多维数组时,尽管 JavaScript 未限制数组的维度,但为了便于代码阅读、调试和维护,建议在实际应用中仅使用三维及以下的数组来存储数据。

🌴【案例】二维数组转置

二维数组的转置是指将原数组中的横向元素转换为纵向元素。

一、常见二维数组操作

代码实现思路如下:

  • 寻找规律:res[0][0] = arr[0][0]、res[0][1] = arr[1][0]、res[0][2] = arr[2][0]。
  • 得出结论:res[i][j] = arr[j][i]。②
  • res 数组的长度等于 arr 元素(如 arr[0])的长度。③
  • res 元素(如 res[0])的长度等于 arr 数组的长度。④
  • 依据③和④完成 res 的创建与遍历,并按②执行转置操作。

为提升您的成就感,此处未直接展示代码。如有疑问,欢迎在评论区留言。实际上,矩阵完全可以存储于数组中,未来进行矩阵转置时直接运行代码即可。

二、常见数组方法

🌴栈和队列方法

除前文介绍的添加与删除数组元素的方式外,JavaScript 还通过 Array 对象提供的方法,模拟栈和队列的操作。

  • 在数组的末尾或开头添加新元素。
  • 在数组的末尾或开头删除元素。

一、常见二维数组操作

  • push() 和 unshift() 方法的返回值是新数组的长度。
  • pop() 和 shift() 方法返回的是被移出的数组元素。

🌴检索方法

在开发中,若需检测给定值是否为数组,或查找指定元素在数组中的位置。

一、常见二维数组操作

表中除 Array.isArray() 方法外,其余方法默认从指定数组索引位置开始检索,且检索方式与运算符“===”相同,即仅在全等时返回比较成功的结果。

⭐includes() 和 Array.isArray() 方法

一、常见二维数组操作

  • includes() 方法的第 1 个参数表示待查找的值。
  • includes() 方法的第 2 个参数用于指定在数组中查找的下标。
  • 若设置为大于数组长度的值,数组将不被检索,直接返回 false。
  • 若设置为小于 0 的数,则检索的索引位置等于数组长度加上指定的负数;若结果仍小于 0,则检索整个数组。

⭐indexOf() 方法

indexOf() 用于从指定下标位置开始,在数组中检索第一个给定值,若存在则返回对应的元素下标,否则返回 -1。

📌 注意

indexOf() 方法的第 2 个参数用于指定开始查找的下标:

  • 当其值大于或等于数组长度时,直接返回 -1。
  • 当其值为负数时,则查找的下标位置等于数组长度加上指定的负数;若结果仍小于 0,则检索整个数组。

⭐lastIndexOf() 方法

Array 对象提供的 lastIndexOf() 方法,用于从指定下标位置检索最后一个给定值的下标。与 indexOf() 不同,lastIndexOf() 默认逆向检索,即从数组末尾向开头检索。

📌注意

lastIndexOf() 方法的第 2 个参数用于指定查找的下标,且由于其采用逆向方式检索:

当其值大于或等于数组长度时,则整个数组都会被查找。

当其值为负数时,则索引位置等于数组长度加上给定的负数;若其值仍为负数,则直接返回 -1。

🌴数组转字符串

开发中若需将数组转换为字符串,可利用 JavaScript 提供的方法实现。

一、常见二维数组操作

一、常见二维数组操作

🔺join() 和 toString() 方法的相同点:

  • 可将多维数组转为字符串,默认情况下使用逗号连接。
  • 当数组元素为 undefined、null 或空数组时,对应的元素会被转换为空字符串。

🔺join() 和 toString() 方法的不同点:

  • join() 方法可以指定连接数组元素的符号。

🌴其他方法

除前文介绍的几种常用方法外,JavaScript 还提供了许多其他常用的数组方法。例如,合并数组、数组浅拷贝、颠倒数组元素的顺序等。

一、常见二维数组操作

📌注意

  • slice() 和 concat() 方法在执行后返回一个新的数组,不会对原数组产生影响,剩余的方法在执行后皆会对原数组产生影响。
  • splice() 方法的第 1 个参数的值等于或大于数组长度时,从数组末尾开始操作;当该值为负数时,则下标位置等于数组长度加上指定的负数;若其值仍为负数,则从数组的开头开始操作。

总结

到此这篇关于 JavaScript 常见数组方法之如何转置矩阵的文章就介绍到这了,更多相关 JavaScript 数组转置矩阵内容请搜索本站以前的文章或继续浏览下面的相关文章,希望大家以后多多支持本站!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章