js 清空数组的方法

1、直接赋值空数组

javascript 复制代码
let array = [1, 2, 3, 4, 5];
array = [];

这种方法并不推荐,如下图所示:

虽然a数组确实变为了空数组,但这种方法只是修改了a的指向,把a指向一个新的空数组,然而[1,2,3,4,5]这个数组并没有被清除,依然保存在内存中。

2、设置长度为0

javascript 复制代码
let array = [1, 2, 3, 4, 5];
array.length = 0;

这种方法简单高效,最值得推荐

可以真正做到将数组清除,且写法简洁

3、使用pop()循环删除

javascript 复制代码
let array = [1, 2, 3, 4, 5];
while(array.length > 0) {
    array.pop();
}

4、使用filter

和方法1差不多,筛选出一个空数组然后赋值给原数组,但并没有清除原数组

javascript 复制代码
let array = [1, 2, 3, 4, 5];
array = array.filter(() => false);
// array 现在是 []

5、splice()方法

javascript 复制代码
let array = [1, 2, 3, 4, 5];
array.splice(0, array.length );
相关推荐
颜酱5 分钟前
一步步实现字符串计算器:从「转整数」到「带括号与优化」
javascript·后端·算法
比尔盖茨的大脑13 分钟前
事件循环底层原理:从 V8 引擎到浏览器实现
前端·javascript·面试
卓卓不是桌桌16 分钟前
如何优雅地处理 iframe 跨域通信?这是我的开源方案
javascript·架构
滕青山30 分钟前
腾讯域名拦截查询 在线工具核心JS实现
前端·javascript·vue.js
进击的尘埃1 小时前
TypeScript 协变与逆变:你的泛型组件 Props 为什么总是类型报错?
javascript
helloweilei1 小时前
javascript 结构化克隆
javascript·node.js
龙猫不热1 小时前
从 0 手写 Promise:拆解 Promise 链式调用的实现原理
前端·javascript·面试
wuhen_n3 小时前
TypeScript 强力护航:PropType 与组件事件类型的声明
前端·javascript·vue.js
wuhen_n3 小时前
组件设计原则:如何设计一个高内聚、低耦合的 Vue 组件
前端·javascript·vue.js
Lee川17 小时前
深度解构JavaScript:作用域链与闭包的内存全景图
javascript·面试