JavaScript如何快速高性能清空删除Array数组中的所有元素,并保持引用


发布者 ourjs  发布时间 1542095783270
关键字 JS学习  JavaScript 
有非常多的方法来清空一个已经存在的数组:

var arr = [1,2,3,4];

方法1: 直接赋值

arr = [];

将空数组直接赋值给变量 arr,新数组与原无引用关系。对新数组的操作不会影响原数组。

方法2: 设置 length

arr.length = 0

直接将数组长度设置为0,此方法并不是在所有的JS引擎中都能工作,并且,当"strict mode"严格模式时,因 arr.length 是只读的,此方法将不起作用。

方法3: splice

arr.splice(0, arr.length)

这种方法会返回删除的所有元素,并形一个新的数组,不过对性能没有影响,并将保持对数组的引用。

方法4: pop

while(arr.length > 0) {
    arr.pop();
}

性能较差。

方法5: shift

while (arr.length > 0) {
  arr.shift();
}

这是性能最差的一种方法。


性能比较:

根据性能比较 http://jsben.ch/#/hyj65

方法 2, 3 性能差不多,非常快,并且可保持对数组的引用。方法 4, 5性能较差。









 热门文章 - 分享最多
  1. 用JavaScript测试图像上两点之间的距离
  2. 用纯CSS改变html radio/checkbox默认背景颜色样式
  3. 用JavaScript实现basename获取路径中的文件名
  4. redis5.x新特性,Stream流数据类型使用简单教程
  5. css去掉table的td单元格的间距cellspacing,设置隔行显示不同背景颜色
  6. Redis只往zset有序集合添加不存在的数据:关键字索引查询构建+源码分析
  7. bootstrap-datetimepicker时间日期范围选取组件使用说明及简单教程
  8. 用jQuery将JavaScript对象转换为querystring查询字符串
  9. 用JavaScript往select元素中添加new option下拉选项

 相关阅读
  1. JavaScript使用类似break机制中断forEach循环
  2. JavaScript如何快速高性能清空删除Array数组中的所有元素,并保持引用
  3. JavaScript无引用复制一个Array数组的每一个元素到另一个数组
  4. 用jQuery将JavaScript对象转换为querystring查询字符串
  5. 用JavaScript往select元素中添加new option下拉选项
  6. bootstrap-datetimepicker时间日期范围选取组件使用说明及简单教程
  7. 用JavaScript实现basename获取路径中的文件名
  8. 用JavaScript测试图像上两点之间的距离
  9. JavaScript运算出现很多小数导致运算不精确的问题,用toFixed解决
  10. 使用Node.JS批量查找替换目录下文本文件中图片地址内容

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA