1. 将数组修改为[]可以清空数组,如果有多个引用时数组在内存中存在被其他变量引用
let user = [{ name: 'zs' }, { name: 'lisi' }]; user = []; console.log(user);
2.给数组长度赋值为0
当length属性的值小于数组本身的长度,数组中后面的元素将被截断;如果length属性的值为0,则可以清空整个数组。
let user = [{ name: 'zs' }, { name: 'lisi' }]; user.length = 0; console.log(user);
3.利用splice清空数组
splice 方法用于数组或伪数组,根据参数个数和形式的不同,可以在数组中删除指定元素或者插入元素、替换元素,原数组会发生改变
只有一个参数时 splice(i) 表示删除从i下标开始(包括i下标)后面的全部值,当i为负值时从后面开始计数,-1代表数组的最后一项,一次类推
当i为整数时,输出数组的后面六个元素
let arr = [1, 2, 3, 4, 5, 6, 7]; // 删除数组的后面六个元素 console.log(arr.splice(1)); // [2,3,4,5,6,7] console.log(arr); // [1]
当i为负数时,删除数组的后面三个元素
let arr = [1, 2, 3, 4, 5, 6, 7]; // 删除数组的后面三个元素 console.log(arr.splice(-3)); // [5,6,7] console.log(arr); // [1,2,3,4]
只有两个参数时 splice(i,num) 表示删除从下标 i 开始(包括i下标)后面的 num 个数,改变原数组。
let arr = [1, 2, 3, 4, 5, 6, 7]; // 删除数组的后面六个元素 console.log(arr.splice(1, 2)); // [2,3] console.log(arr); // [1,4,5,6,7]
当有三个参数时,splice(i,num,value1,value2,value3...) 表示删除从下标 i 开始(包括i下标)后面的 num 个数,
然后在 下标 i 的位置插入 后面的参数value1,value2,value3的值。每一个参数都代表数组的每一项
let arr = [1, 2, 3, 4, 5, 6, 7] // 删除数组的后面2个参数,并替换为'green','red' console.log(arr.splice(5, 2, 'green', 'red')); // [6,7] console.log(arr); // [1,2,3,4,5,'green','red']
我们可以根据 splice(0,arr.length) 删除数组的全部值达到 数组清空的目的
let arr = [1, 2, 3, 4, 5, 6, 7]; console.log(arr.splice(0,arr.length)); // [1, 2, 3, 4, 5, 6, 7] console.log(arr); // []
4.通过数组方法 pop() 将数组全部删除
let user = [{ name: 'zs' }, { name: 'lisi' }]; while (user.pop()) {} console.log(user); // []