清空数组的几个方法
数组的相关教程已经看完,总结一下清空数组的几个方法
- length = 0
- shift
- pop
- filter
- slice
- splice
length = 0
这个最快,直接把数组的长度设置为 0,数组里面就没有东西了
var arr = [1,2,3] |
shift
shift 用于删除数组第一项,这里清空数组就是用的 for 循环遍历数组长度次,每次都运行一次 shift 方法,最后就把数组清空啦。注意的是数组的长度,因为每次 shift 之后,数组的长度就会少 1,所以这里 for 开始的时候,需要定义一个 l 缓存住最开始数组的长度。看下面的代码。
var arr = [1,2,3] |
pop
pop 清空数组原理同上面操作,只是 pop 是用来删除数组最后一项。
var arr = [1,2,3] |
splice
splice 可以删除元素也可以插入元素,这里用的删除元素。删除从 0 开始的长度为数组长度的元素个数,这个时候删除后返回的就是原来的数组的一个拷贝。是不是可以用于浅拷贝 🤔
var arr = [1,2,3] |
filter
过滤一个数组的元素,找出符合过滤 callback 的元素组成一个新的数组。所以我们这里就是找出一个都不会符合的条件,最后生成一个空的数组。这里其实也不能说是清空了数组,而只是把一个生成的空数组赋值给了原来的数组。
var arr = [1,2,3] |
slice
slice 是提取数组中的一部分,生成一个新的数组,不会修改原来的数组。同上面 filter,把一个空数组赋值给了原来的数组,有点犯规啊。
var arr = [1,2,3] |
这么说来,直接赋值为空数组也是清空数组的意思了。😂
var arr = [1,2,3] |