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个参数的值等于或大于数组长度时,从数组末尾开始操作;当该值为负数时,则下标位置等于数组长度加上指定的负数,若其值仍为负数,则从数组的开头开始操作。

如果觉得这篇文章对你有一丢丢启发的话,不妨 点赞👍、收藏⭐、留言💬支持一下,你的支持将是我继续创作的最大动力❤️❤️❤️

由于作者水平有限,如有错误和不准确之处在所难免,本人也很想知道这些错误,恳望读者批评指正!

**if (学会了){
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)

最后

一个好的心态和一个坚持的心很重要,很多冲着高薪的人想学习前端,但是能学到最后的没有几个,遇到困难就放弃了,这种人到处都是,就是因为有的东西难,所以他的回报才很大,我们评判一个前端开发者是什么水平,就是他解决问题的能力有多强。

分享一些简单的前端面试题以及学习路线给大家,狂戳这里即可获取!!!

4/03/13/H4lCoPEF.jpg" />

最后

一个好的心态和一个坚持的心很重要,很多冲着高薪的人想学习前端,但是能学到最后的没有几个,遇到困难就放弃了,这种人到处都是,就是因为有的东西难,所以他的回报才很大,我们评判一个前端开发者是什么水平,就是他解决问题的能力有多强。

分享一些简单的前端面试题以及学习路线给大家,狂戳这里即可获取!!!

[外链图片转存中…(img-HG0YXOs6-1711675350826)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值