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 );
相关推荐
sheeta19989 小时前
TypeScript references 配置与 emit 要求详解
javascript·ubuntu·typescript
神の愛9 小时前
js的深拷贝和浅拷贝?啥情况讲解下??底层堆栈空间??object.prototype.toString.call(),还有bind,的具体使用?
前端·javascript·原型模式
1314lay_10079 小时前
el-table表格数据分页切片,导致表格的多选失效
javascript·vue.js·elementui
qq_12084093719 小时前
Three.js 模型加载稳定性实战:从资源失败到可用发布的工程化方案
前端·javascript·vue.js·vue3·three.js
阿正的梦工坊9 小时前
JavaScript 闭包:从入门到精通
开发语言·javascript·ecmascript
qq_12084093719 小时前
Three.js 性能实战:大场景从 15FPS 到 60FPS 的工程化优化路径
开发语言·前端·javascript
guhy fighting9 小时前
使用vue-virtual-scroller导致打包报错
前端·javascript·vue.js·webpack
Cecilialana10 小时前
同域名、同项目、仅 hash 变化,window.location.href 不跳转
前端·javascript
Hello--_--World10 小时前
DOM事件流与事件委托、判断数据类型、深浅拷贝、对象遍历方式
前端·javascript
threelab11 小时前
Vue3 + Trilab:打造高扩展性三维可视化插件化框架实战指南
javascript·3d·webgl