JS 清空数组的几种方法

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


目录
相关文章
|
14天前
|
前端开发 JavaScript
前端 js 经典:数组常用方法总结
前端 js 经典:数组常用方法总结
25 0
|
4天前
|
JavaScript 前端开发
js中改变this指向、动态指定函数 this 值的方法
js中改变this指向、动态指定函数 this 值的方法
|
4天前
|
JavaScript 前端开发 开发者
JavaScript 中程序异常处理的方法,提升代码运行的健壮性
JavaScript 中程序异常处理的方法,提升代码运行的健壮性
|
4天前
|
JavaScript
分享经典面试题:JS数组去重的多种方法
分享经典面试题:JS数组去重的多种方法
|
4天前
|
JavaScript
JS判断变量是不是数组?方法大全!
JS判断变量是不是数组?方法大全!
|
5天前
|
JavaScript 前端开发
JavaScript 解决数组查重 问题(三种解决方法)
JavaScript 解决数组查重 问题(三种解决方法)
|
13天前
|
移动开发 JavaScript iOS开发
WKWebView和js互调方法的实现
WKWebView和js互调方法的实现
17 0
|
13天前
|
JavaScript 前端开发
Symbol在JavaScript中还有哪些内置的Symbol可以用于定义特定的方法或属性
Symbol在JavaScript中还有哪些内置的Symbol可以用于定义特定的方法或属性
|
14天前
|
前端开发 JavaScript
前端 JS 经典:数组去重万能方法
前端 JS 经典:数组去重万能方法
18 0
|
14天前
|
前端开发 JavaScript 流计算
前端 js 经典:字符串超全方法总结
前端 js 经典:字符串超全方法总结
24 0