JavaScript中清空数组的三种方式

 更新时间:2017年03月22日 11:48:54   作者:zhouyrt  
本文主要介绍了JavaScript中清空数组的三种方式。具有很好的参考价值。下面跟着小编一起来看下吧

方式1,splice

var ary = [1,2,3,4]; 
ary.splice(0,ary.length); 
console.log(ary); // 输出 [],空数组,即被清空了 

方式2,length赋值为0

这种方式很有意思,其它语言如Java,其数组的length是只读的,不能被赋值。如

int[] ary = {1,2,3,4}; 
ary.length = 0; 

Java中会报错,编译通不过。

而JS中则可以,且将数组清空了,如

var ary = [1,2,3,4]; 
ary.length = 0; 
console.log(ary); // 输出 [],空数组,即被清空了 

目前 Prototype中数组的 clear 方法和mootools库中数组的 empty 方法使用这种方式清空数组。

方式3,赋值为[]

var ary = [1,2,3,4]; 
ary = []; // 赋值为一个空数组以达到清空原数组 

Ext库Ext.CompositeElementLite类的 clear 方法使用这种方式清空。

方式2 保留了数组其它属性,方式3 则未保留。

很多人认为方式2的效率很高些,因为仅仅是给length重新赋值了,而方式3则重新建立个对象。经 测试 恰恰是方式3的效率高。测试代码:

var a = []; 
for (var i=0; i< 1000000; i++){ 
 a.push(i); 
} 
var start = new Date(); 
//a = []; 
a.length = 0; 
var end = new Date(); 
alert(end - start); 

测试结果:

  IE6 IE7 IE8 IE9 Firefox Safari Chrome
a.length=0 94 29 14 1 4 3 1
a=[] 0 0 0 0 0 0 0

以上结果可看到:方式3更快,效率更高。

从测试结果上看如果不保留原数组的其它属性Ext采用的方式更值得推荐。

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

相关文章

  • JS正则表达式详解及身份证号码验证(简易版)

    JS正则表达式详解及身份证号码验证(简易版)

    在做用户实名验证时,常会用到身份证号码的正则表达式及校验方案,下面这篇文章主要给大家介绍了关于JS正则表达式及身份证号码验证的相关资料,需要的朋友可以参考下
    2022-07-07
  • 微信小程序实现锚点跳转

    微信小程序实现锚点跳转

    这篇文章主要为大家详细介绍了微信小程序实现锚点跳转,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • JavaScript面试技巧之数组的一些不low操作

    JavaScript面试技巧之数组的一些不low操作

    这篇文章主要给大家介绍了关于JavaScript面试技巧之数组的一些不low操作的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用js具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • JS document form表单元素操作完整示例

    JS document form表单元素操作完整示例

    这篇文章主要介绍了JS document form表单元素操作,结合完整实例形式详细分析了JavaScript form表单元素获取、输出、遍历等相关操作技巧,需要的朋友可以参考下
    2020-01-01
  • JavaScript时间对象Date内置构造函数操作实例

    JavaScript时间对象Date内置构造函数操作实例

    这篇文章主要为大家介绍了JavaScript时间对象Date内置构造函数操作实例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • 原生js实现自定义消息提示框

    原生js实现自定义消息提示框

    这篇文章主要为大家详细介绍了原生js实现自定义消息提示框,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • 微信小程序分包加载代码实现方法详解

    微信小程序分包加载代码实现方法详解

    这篇文章主要介绍了微信小程序分包加载代码实现方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • js实现随机点名系统(实例讲解)

    js实现随机点名系统(实例讲解)

    下面小编就为大家带来一篇js实现随机点名系统(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • JS取模、取商及取整运算方法示例

    JS取模、取商及取整运算方法示例

    这篇文章主要介绍了JS取模、取商及取整运算方法,结合实例形式分析了javascript取模、取商机取整等数学运算的常见操作方法,需要的朋友可以参考下
    2016-10-10
  • 一文搞懂 parseInt()函数异常行为

    一文搞懂 parseInt()函数异常行为

    这篇文章主要为大家介绍了一文搞懂 parseInt()函数异常行为示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05

最新评论