JS 清空数组的几种方法

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); // []

猜你喜欢

转载自blog.csdn.net/qq_63299825/article/details/131037627