Javascript清空数组的几种方法

By | 2023年8月31日

Javascript清空数组的几种方法

1. length

使用 length 属性,在 JS 里,数组的 length 属性不仅可读,还是可写的。

let arr =['清','空','数','组']
console.log(arr); // ['清','空','数','组']
// 数组长度为0
arr.length=0
console.log(arr);  // []

这句代码将数组的长度设置为 0,返回 0,此时在控制台再次打印 arr, 会输出 []

2. 改变数组指向为一个新的空数组

将 arr 重新复制为空数组,之前的数组如果没有被引用,将等待垃圾回收。

let arr =['清','空','数','组']
console.log(arr); // ['清','空','数','组']
// 给原数组赋值为空数组
arr=[]
console.log(arr);  // []

缺点:仅仅改变指针的指向,如果有多个指针都指向了这个数组,只能修改一个

let arr =['清','空','数','组']
console.log(arr); // ['清','空','数','组']
let arr1=arr
arr=[]
console.log(arr,arr1);  // []  ['清','空','数','组']

3. 使用splice方法删除整个数组内容

let arr =['清','空','数','组']
console.log(arr); // ['清','空','数','组']
// 数组方法 删除数组内的元素
arr.splice(0,arr.length)
console.log(arr);  // []

数组的 splice 方法用处多多,这里输入两个参数,第一个参数 0 表示从数组索引 0 处开始操作,第二个参数表示待删除的元素个数,这里输入数组的长度,也就是把整个数组的元素都删除了。splice 方法返回被删除的元素,所以这句代码执行后会返回 ['清','空','数','组'] ,此时再打印 arr, 输出空数组 []

4. while + pop/shift

通过循环数组中的元素,使用数组内置的 shift/pop 方法来删除数组元素,这两个方法都是直接修改了原数组

let arr =['清','空','数','组']
console.log(arr); // ['清','空','数','组']
// while  循环不断删除末尾/开头元素
while(arr.length){
//   arr.pop()
     arr.shift()

}
console.log(arr); // []

备注

转载自 https://juejin.cn/post/7084506264490737700