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 相关文章推荐
js中cookie的添加、取值、删除示例代码
Oct 21 Javascript
jquery交替变换颜色的三种方法 实例代码
Nov 19 Javascript
javascript制作的cookie封装及使用指南
Jan 02 Javascript
javascript实现全局匹配并替换的方法
Apr 27 Javascript
详解WordPress开发中get_current_screen()函数的使用
Jan 11 Javascript
解决URL地址中的中文乱码问题的办法
Feb 10 Javascript
Angular4编程之表单响应功能示例
Dec 13 Javascript
JavaScript递归函数定义与用法实例分析
Jan 24 Javascript
详解Element 指令clickoutside源码分析
Feb 15 Javascript
JS/jQuery实现简单的开关灯效果【案例】
Feb 19 jQuery
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
Nov 21 Javascript
javascript实现拼图游戏
Jan 29 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
多数据表共用一个页的新闻发布
2006/10/09 PHP
基于mysql的论坛(2)
2006/10/09 PHP
php设计模式 State (状态模式)
2011/06/26 PHP
PHP header函数分析详解
2011/08/06 PHP
php断点续传之如何分割合并文件
2014/03/22 PHP
PHP将进程作为守护进程的方法
2015/03/19 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
mysql alter table命令修改表结构实例详解
2016/09/24 PHP
firefox中JS读取XML文件
2006/12/21 Javascript
javascript对象的property和prototype是这样一种关系
2007/03/24 Javascript
jQuery $.each的用法说明
2010/03/22 Javascript
基于JQuery的模拟苹果桌面Dock效果(稳定版)
2012/10/15 Javascript
jquery获取table中的某行全部td的内容方法
2013/03/08 Javascript
js 日期比较相关天数代码
2014/04/02 Javascript
AngularJS入门知识之MVW类框架的编程思想探讨
2014/12/08 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
简单谈谈Javascript函数中的arguments
2017/02/09 Javascript
原生js+cookie实现购物车功能的方法分析
2017/12/21 Javascript
VUE 动态组件的应用案例分析
2019/12/02 Javascript
JavaScript中的this原理及6种常见使用场景详解
2020/02/14 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
python网络编程学习笔记(四):域名系统
2014/06/09 Python
python进阶_浅谈面向对象进阶
2017/08/17 Python
Python构建网页爬虫原理分析
2017/12/19 Python
pytorch打印网络结构的实例
2019/08/19 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
python中添加模块导入路径的方法
2021/02/03 Python
GLAMGLOW香港官网:明星出镜前的秘密武器
2017/03/16 全球购物
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
人力资源总监工作说明
2014/03/03 职场文书
社团2014年植树节活动总结
2014/03/11 职场文书
精神文明建设汇报材料
2014/12/24 职场文书
法定代表人免职证明
2015/06/24 职场文书
MySQL5.7并行复制原理及实现
2021/06/03 MySQL
Redis如何实现分布式锁
2021/08/23 Redis
《艾尔登法环》发布最新「战技」宣传片
2022/04/03 其他游戏