JavaScript如何快速高性能清空删除Array数组中的所有元素,并保持引用
栏目: JavaScript · 发布时间: 6年前
内容简介:有非常多的方法来清空一个已经存在的数组:将空数组直接赋值给变量 arr,新数组与原无引用关系。对新数组的操作不会影响原数组。
有非常多的方法来清空一个已经存在的数组:
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性能较差。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- js的数组和对象的多种"复制"和"清空", 以及区分JS数组和对象的方法
- 如何清空所有Keychain及UserDefaults
- git如何清空所有的commit记录
- Chrome 69 清空 Cookies 会保留 Google 的 Cookies
- MUI调用原生自定义方法实现计算缓存与清空缓存
- jQuery删除/清空指定元素下的所有子节点的方法
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。