上一篇文章我跟大家讲了《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。注意!不推荐使用此方法删除元素。
1.1正确删除元素方法!
1.2 删除第一个元素
arr
shift之后会将第一个给弹出来,随后第一个被删除长度也从3变成了2。上面delete删除了长度就不会变所以不推荐delete删除方法。
1.3 删除中间的元素
arr
从位子第3个值开始删除后面的两个值。(注意!这里的3是下标3 对应的值是4,就是从第4个值往后面删除两个。)
来给splice加点料
arr
splice除了能删除指定的值还可以在删除的位子添加值。如图我们可以看到4被删除,将新值444给添加了上去。splice还是比较强大的,他可以替代掉shift和pop,但是后两者比较简单非常方便上手。
1.4 删除最后一个元素
arr
和shift的解释一样,只是shift是删除第一个值而pop是删除最后一个值。
2 查看所有的元素
除了添加和更改属性我们还需要知道如何查看元素。
Object
这里我们直接Object.keys拿到arr里面的元素。注意!这里我们添加了一个x也依然的拿到了,你可以随时拿到一个不想要的东西。说以得出一个结论,对象的操作方法拿到数组这里来并不靠谱。
2.1 for循环才是访问所有属性的最常见的方式
for
这才是查看数组的正确方式,我们可以看到采用这种方法才访问不到我们不想看到的x。也不要使用“for(let key in arr)”这个是用来访问对象的。
2.2查看单个属性
ket
跟对象一样的直接加一个下标访问位子就好了,就这么简单。注意!在查看单个属性的时候索引不要越界
let
看吧报错了,因为越界了。<=arr.length是不允许的,length这个值是永远取不到的 i只能是length - 1。当等于length的时候访问arr [ i ] ,这个时候i等于8,8是不存在的 所以不存在的值是不能toString的。
那我们如何解决呢?
let
哪里有问题就把哪里打印出来,数组i字符串i全部打印出来,在打印到第9项的时候发现没有arr [ i ] 这个时候就报错了。
2.3 查找某一个元素是否在数组里面。
arr
在数组里面发现了30,于是就返回了索引,30在下标4里面。
在数组里面没有发现有13这个时候就返回-1
3 增加数组中的元素
3.1 在尾部添加元素
arr
从下图我们可以看到通过push往数组后面进行添加新的元素。
3.2 在中间添加元素
arr
splice除了可以删除还可以添加。在下标2的位子删除后面0个然后添加一个新的3.5元素进去。
3.3 在头部添加元素
arr
通过unshift可以直接往头部添加进新元素,你写进去的是什么顺序添加进去的耶是什么顺序。
3.4 反转数组中的顺序
arr
这样我们就可以进行把数组反转过来,注意!这里反转数组是修改了原来的数组。
3.5!反转数组经典面试题
提问:如何把字符串换一个方向,就是(ABCDE)换成(EDCBA)?
其实这个也很简单,我们只需要先字符串变成数组,然后数组直接reverse,最后再把数组变成字符串就好了。
var