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 );
相关推荐
A_nanda7 小时前
根据AI提示排查vue前端项目
前端·javascript·vue.js
~无忧花开~8 小时前
React状态管理完全指南
开发语言·前端·javascript·react.js·前端框架
@大迁世界8 小时前
1.什么是 ReactJS?
前端·javascript·react.js·前端框架·ecmascript
前端Hardy11 小时前
Wails v3 正式发布:用 Go 写桌面应用,体积仅 12MB,性能飙升 40%!
前端·javascript·go
Highcharts.js11 小时前
Highcharts React v4 迁移指南(下):分步代码示例与常见问题解决
javascript·react.js·typescript·react·highcharts·代码示例·v4迁移
Laurence11 小时前
Qt 前后端通信(QWebChannel Js / C++ 互操作):原理、示例、步骤解说
前端·javascript·c++·后端·交互·qwebchannel·互操作
Pu_Nine_911 小时前
JavaScript 字符串与数组核心方法详解
前端·javascript·ecmascript
这是个栗子11 小时前
前端开发中的常用工具函数(六)
javascript·every
kyriewen12 小时前
异步编程:从“回调地狱”到“async/await”的救赎之路
前端·javascript·面试
前端Hardy12 小时前
别再手动写 loading 了!封装一个自动防重提交的 Hook
前端·javascript·vue.js