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


Posted in Javascript onApril 07, 2011

方式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);

测试结果:

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

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

Javascript 相关文章推荐
微信小程序 教程之引用
Oct 18 Javascript
jQuery下拉菜单的实现代码
Nov 03 Javascript
非常优秀的JS图片轮播插件Swiper的用法
Jan 03 Javascript
利用webstrom调试Vue.js单页面程序的方法教程
Jun 06 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
Mar 28 Javascript
详解angular部署到iis出现404解决方案
Aug 14 Javascript
小程序云开发部署攻略(图文教程)
Oct 30 Javascript
JavaScript多种页面刷新方法小结
Apr 04 Javascript
基于javascript实现贪吃蛇经典小游戏
Apr 10 Javascript
一看就会的vuex实现登录验证(附案例)
Jan 09 Javascript
基于Vue中的父子传值问题解决
Jul 27 Javascript
在vue中使用Echarts画曲线图的示例
Oct 03 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
Apr 07 #Javascript
javascript各浏览器中option元素的表现差异
Apr 07 #Javascript
IE6/7/8中Option元素未设value时Select将获取空字符串
Apr 07 #Javascript
我的javascript 函数链之演变
Apr 07 #Javascript
JavaScript中链式调用之研习
Apr 07 #Javascript
js中各浏览器中鼠标按键值的差异
Apr 07 #Javascript
javascript 单例/单体模式(Singleton)
Apr 07 #Javascript
You might like
记录mysql性能查询过程的使用方法
2013/05/02 PHP
PHP命名空间(namespace)的使用基础及示例
2014/08/18 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
多广告投放代码 推荐
2006/11/13 Javascript
JavaScript中Math对象使用说明
2008/01/16 Javascript
Google Map Api和GOOGLE Search Api整合实现代码
2009/07/18 Javascript
基于node.js的快速开发透明代理
2010/12/25 Javascript
Package.js  现代化的JavaScript项目make工具
2012/05/23 Javascript
基于jquery中children()与find()的区别介绍
2013/04/26 Javascript
jQuery scroll事件实现监控滚动条分页示例
2014/04/04 Javascript
jQuery使用andSelf()来包含之前的选择集
2014/05/19 Javascript
js实现从数组里随机获取元素
2015/01/12 Javascript
jQuery实现图片走马灯效果的原理分析
2016/01/16 Javascript
json的使用小结
2016/06/08 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
Windows下快速搭建NodeJS本地服务器的步骤
2017/08/09 NodeJs
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
JavaScript引用类型Date常见用法实例分析
2018/08/08 Javascript
cdn模式下vue的基本用法详解
2018/10/07 Javascript
微信小程序订阅消息(java后端实现)开发
2020/06/01 Javascript
Python编程修改MP3文件名称的方法
2017/04/19 Python
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
2017/08/18 Python
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
python二元表达式用法
2019/12/04 Python
如何使用Python多线程测试并发漏洞
2019/12/18 Python
编写strcpy函数
2014/06/24 面试题
广州盈通面试题
2015/12/05 面试题
就业推荐表自我鉴定
2013/10/29 职场文书
结婚典礼证婚词
2014/01/11 职场文书
纪念九一八事变83周年国旗下讲话稿
2014/09/15 职场文书
卖车协议书范本4篇
2014/10/01 职场文书
2015年护士医德医风自我评价
2015/03/03 职场文书
如何理解及使用Python闭包
2021/06/01 Python
详解SpringBoot异常处理流程及原理
2021/06/21 Java/Android
Python制作动态字符画的源码
2021/08/04 Python
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers