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

栏目: JavaScript · 发布时间: 5年前

内容简介:有非常多的方法来清空一个已经存在的数组:将空数组直接赋值给变量 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性能较差。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

基于内容图像检索技术

基于内容图像检索技术

周明全 / 清华大学 / 2007-12 / 28.00元

《基于内容图像检索技术》从理论方法研究与实现技术角度,总结归纳了基于内容图像检索(CBIR)技术的研究与进展,并融入了作者多年来的相关研究与应用成果,系统地介绍了CBIR的主要概念、基本原理、典型方法、实用范例以及新动向。《基于内容图像检索技术》共有12章分为五部分:第一部分是概述,分析了CBIR的体系结构、技术现状和发展趋势;第一部分讨论图像特征提取,给出图像低层特征(颜色、形状、纹理、空间关系......一起来看看 《基于内容图像检索技术》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

html转js在线工具
html转js在线工具

html转js在线工具