JavaScript中清空数组的方法总结

 更新时间:2016年12月02日 16:59:42   作者:黑桃King与七  
本文给大家总结了三种js清空数组的方法,每种方法都与众不同,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧

 方式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 = []; // 赋值为一个空数组以达到清空原数组

这里其实并不能说是严格意义的清空数组,只是将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);

测试结果:

以上结果可看到:方式3更快,效率更高。因此如果不保留原数组的其它属性Ext采用的方式更值得推荐。

以上所述是小编给大家介绍的JavaScript中清空数组的三种方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • JS实现的判断方法、变量是否存在功能示例

    JS实现的判断方法、变量是否存在功能示例

    这篇文章主要介绍了JS实现的判断方法、变量是否存在功能,涉及javascript针对变量、方法判断与异常处理操作技巧,需要的朋友可以参考下
    2018-05-05
  • layui获取多选框中的值方法

    layui获取多选框中的值方法

    今天小编就为大家分享一篇layui获取多选框中的值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • JavaScript中的数组特性介绍

    JavaScript中的数组特性介绍

    这篇文章主要介绍了JavaScript中的数组特性介绍,本文总结了数组的3种特性和4种创建数组的方法,需要的朋友可以参考下
    2014-12-12
  • js使用post 方式打开新窗口

    js使用post 方式打开新窗口

    这篇文章主要介绍了js使用post 方式打开新窗口的相关资料,需要的朋友可以参考下
    2015-02-02
  • 微信小程序progress组件使用详解

    微信小程序progress组件使用详解

    这篇文章主要为大家详细介绍了微信小程序progress组件的使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • hash和history路由模式区别示例解析

    hash和history路由模式区别示例解析

    这篇文章主要为大家介绍了hash和history路由模式区别示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 详谈ES6中的迭代器(Iterator)和生成器(Generator)

    详谈ES6中的迭代器(Iterator)和生成器(Generator)

    下面小编就为大家带来一篇详谈ES6中的迭代器(Iterator)和生成器(Generator)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • uniapp小程序和h5如何使用three.js详解

    uniapp小程序和h5如何使用three.js详解

    Three.js是通过对WebGL接口的封装与简化而形成的一个易用的图形库,下面这篇文章主要给大家介绍了关于uniapp小程序和h5如何使用three.js的相关资料,需要的朋友可以参考下
    2022-12-12
  • JS 正则表达式验证密码、邮箱格式的实例代码

    JS 正则表达式验证密码、邮箱格式的实例代码

    这篇文章主要介绍了JS 正则表达式验证密码、邮箱格式的实例代码,需要的朋友可以参考下
    2018-10-10
  • Openlayers实现图形绘制

    Openlayers实现图形绘制

    这篇文章主要为大家详细介绍了Openlayers实现图形绘制,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09

最新评论