js 数组头部添加_JavaScript当中的数组如何增删改查你都知道吗?

f3f08359bf2b32edae23059c7f766d5e.png

上一篇文章我跟大家讲了《JavaScript当中数组是什么&如何创建一个数组》今天来和大家聊聊JS当中的数组如何增删改查。

目录

1 删除数组中的元素 1.1 正确删除元素的方法! 1.2 删除第一个元素 1.3 删除中间元素 1.4 删除最后一个元素 2 查看所有的元素 2.1 for循环才是访问所有属性的最常见的方式 2.2 查看单个属性 2.3 查找某一个元素是否在数组里面。 3 增加数组中的元素 3.1 在尾部添加元素 3.2 在中间添加元素 3.3 在头部添加元素 3.4 反转数组中的顺序 3.5 !反转数组经典面试题 点赞、留言、分享朋友圈!

首先先跟大家讲讲如何删除数组中的元素

1 删除元素

delete 

我们可以通过delete进行删除元素,注意!这里被删除的显示为emty(表示为空的),虽然被删除了但是位置还是在的。把元素0删除展开看就是直接从1开始算了,但是长度依然是3。注意!不推荐使用此方法删除元素。

86fd33a1c4ae98b9b05a737209728f7a.png

1.1正确删除元素方法!

1.2 删除第一个元素

arr

shift之后会将第一个给弹出来,随后第一个被删除长度也从3变成了2。上面delete删除了长度就不会变所以不推荐delete删除方法。

f740d984897d5c0151bf28624a26f0bd.png

1.3 删除中间的元素

arr

从位子第3个值开始删除后面的两个值。(注意!这里的3是下标3 对应的值是4,就是从第4个值往后面删除两个。)

043f51e13dc6445cdbefc022f5301c44.png

来给splice加点料

arr

splice除了能删除指定的值还可以在删除的位子添加值。如图我们可以看到4被删除,将新值444给添加了上去。splice还是比较强大的,他可以替代掉shift和pop,但是后两者比较简单非常方便上手。

417ab8c932797a9fec650c1aca8656d7.png

1.4 删除最后一个元素

arr

和shift的解释一样,只是shift是删除第一个值而pop是删除最后一个值。

058d1c5c61112dc79e4d559d921b9b9f.png

2 查看所有的元素

除了添加和更改属性我们还需要知道如何查看元素。

Object

这里我们直接Object.keys拿到arr里面的元素。注意!这里我们添加了一个x也依然的拿到了,你可以随时拿到一个不想要的东西。说以得出一个结论,对象的操作方法拿到数组这里来并不靠谱。

65d2a3333939b41ade065797e9aac324.png

2.1 for循环才是访问所有属性的最常见的方式

for

这才是查看数组的正确方式,我们可以看到采用这种方法才访问不到我们不想看到的x。也不要使用“for(let key in arr)”这个是用来访问对象的。

664ca3554d216dc55d914be316002758.png

2.2查看单个属性

ket 

跟对象一样的直接加一个下标访问位子就好了,就这么简单。注意!在查看单个属性的时候索引不要越界

let 

看吧报错了,因为越界了。<=arr.length是不允许的,length这个值是永远取不到的 i只能是length - 1。当等于length的时候访问arr [ i ] ,这个时候i等于8,8是不存在的 所以不存在的值是不能toString的。

14b4b48804278f6de84b883cd98f3818.png

那我们如何解决呢?

let 

哪里有问题就把哪里打印出来,数组i字符串i全部打印出来,在打印到第9项的时候发现没有arr [ i ] 这个时候就报错了。

fd2f4472be0da35f6ddd70589d335c5d.png

2.3 查找某一个元素是否在数组里面。

arr

在数组里面发现了30,于是就返回了索引,30在下标4里面。

ee1f5753b87723edaca09ab183f57a3a.png

在数组里面没有发现有13这个时候就返回-1

e3f478732e51cb58b975d6fb197a7515.png

3 增加数组中的元素

3.1 在尾部添加元素

arr

从下图我们可以看到通过push往数组后面进行添加新的元素。

07744a88cbf974d48ad3ed2a07f8041a.png

3.2 在中间添加元素

arr

splice除了可以删除还可以添加。在下标2的位子删除后面0个然后添加一个新的3.5元素进去。

b99eb666bf588bd3e5f074b3064e1de3.png

3.3 在头部添加元素

arr

通过unshift可以直接往头部添加进新元素,你写进去的是什么顺序添加进去的耶是什么顺序。

4c1dbb5827c6c6761b99ecd68df36351.png

3.4 反转数组中的顺序

arr

这样我们就可以进行把数组反转过来,注意!这里反转数组是修改了原来的数组。

08f13605691039c6753cffb8412300a2.png

3.5!反转数组经典面试题

提问:如何把字符串换一个方向,就是(ABCDE)换成(EDCBA)?

其实这个也很简单,我们只需要先字符串变成数组,然后数组直接reverse,最后再把数组变成字符串就好了。

var 

53b1bad517d6dd4c398e195fbb5706eb.png

今天就先总结到这里吧,我也是刚学完数组,后续我学到新的知识会再总结出来的,记得点个关注!

老规矩上图、拒绝白嫖、拒绝下次一定!!!

ec9af3a12dac66f1e7e236f75111e18d.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值