JavaScript中清空数组的三种方法分享

 更新时间:2011年04月07日 23:31:24   作者:  
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 = []; // 赋值为一个空数组以达到清空原数组

方式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移动优先的幻灯片效果

    纯javascript移动优先的幻灯片效果

    这篇文章主要介绍了纯javascript实现移动优先的幻灯片效果,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • 使用post方法实现json往返传输数据的方法

    使用post方法实现json往返传输数据的方法

    今天小编就为大家分享一篇关于使用post方法实现json往返传输数据的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • js中通过split函数分割字符串成数组小例子

    js中通过split函数分割字符串成数组小例子

    分割字符串成数组的方法有很多,不过使用最多的还是split函数,接下来为大家介绍下它的具体使用方法,感兴趣的朋友可以参考下
    2013-09-09
  • 详解基于Vue cli生成的Vue项目的webpack4升级

    详解基于Vue cli生成的Vue项目的webpack4升级

    这篇文章主要介绍了详解基于Vue cli生成的Vue项目的webpack4升级,本文将详细介绍从webpack3到webpack4的升级过程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 浅谈Webpack4 plugins 实现原理

    浅谈Webpack4 plugins 实现原理

    在wabpack 核心功能除了loader应该就是plugins插件了,本文主要介绍了Webpack4 plugins 实现原理,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • JavaScript中的一些隐式转换和总结(推荐)

    JavaScript中的一些隐式转换和总结(推荐)

    这篇文章主要介绍了JavaScript中的一些隐式转换和总结,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-12-12
  • JavaScript闭包和作用域链的定义实现

    JavaScript闭包和作用域链的定义实现

    这篇文章主要为大家介绍了JavaScript闭包和作用域链的定义与实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • TS报错:Parameter 'xxx' implicitly has an 'any' type的解决方式

    TS报错:Parameter 'xxx' implicitly has an '

    这篇文章主要给大家介绍了关于TS报错:Parameter 'xxx' implicitly has an 'any' type的解决方式,文中将产生错误的原因及解决方法都介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • 解决layui中table异步数据请求不支持自定义返回数据格式的问题

    解决layui中table异步数据请求不支持自定义返回数据格式的问题

    今天小编就为大家分享一篇解决layui中table异步数据请求不支持自定义返回数据格式的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • Bootstrap CDN和本地化环境搭建

    Bootstrap CDN和本地化环境搭建

    这篇文章主要介绍了Bootstrap CDN和本地化环境搭建的方法,非常不错具有参考借鉴价值,感兴趣的朋友跟着小编一起学习吧
    2016-10-10

最新评论