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 URL传中文参数引发的乱码问题
Sep 02 Javascript
jQuery入门知识简介
Mar 04 Javascript
如何用js控制frame的隐藏或显示的解决办法
Mar 20 Javascript
js将控件隐藏的方法及display属性介绍
Jul 04 Javascript
当前页禁止复制粘贴截屏代码小集
Jul 24 Javascript
Jquery实现的简单轮播效果【附实例】
Apr 19 Javascript
用JavaScript和jQuery实现瀑布流
Mar 19 Javascript
js 数字、字符串、布尔值的转换方法(必看)
Apr 07 Javascript
JavaScript之underscore_动力节点Java学院整理
Jul 03 Javascript
js实现web调用摄像头 js截取视频画面
Apr 21 Javascript
详解vue 图片上传功能
Apr 30 Javascript
JS实现简易留言板增删功能
Feb 08 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
PHP中文汉字验证码
2007/04/08 PHP
php源代码安装常见错误与解决办法分享
2013/05/28 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
linux中cd命令使用详解
2015/01/08 PHP
PHP中多线程的两个实现方法
2016/10/14 PHP
php使用自带dom扩展进行元素匹配的原理解析
2020/05/29 PHP
Javascript操作cookie的函数代码
2012/10/03 Javascript
Jquery EasyUI中弹出确认对话框以及加载效果示例代码
2014/02/13 Javascript
JQuery记住用户名和密码的具体实现
2014/04/04 Javascript
Jquery解析json字符串及json数组的方法
2015/05/29 Javascript
详解JavaScript中void语句的使用
2015/06/04 Javascript
AngularJS 视图详解及示例代码
2016/08/17 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
LayUI表格批量删除方法
2018/08/15 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
2018/08/22 Javascript
vue v-on:click传递动态参数的步骤
2020/09/11 Javascript
express异步函数异常捕获示例详解
2020/11/30 Javascript
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
Windows安装Python、pip、easy_install的方法
2017/03/05 Python
python爬虫之BeautifulSoup 使用select方法详解
2017/10/23 Python
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
2018/04/19 Python
python3正则提取字符串里的中文实例
2019/01/31 Python
python 计算平均平方误差(MSE)的实例
2019/06/29 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
详解python的xlwings库读写excel操作总结
2021/02/26 Python
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
Meli Melo官网:名媛们钟爱的英国奢侈手包品牌
2017/04/17 全球购物
linux面试题参考答案(1)
2016/01/22 面试题
大学生学习生活的自我评价
2013/11/01 职场文书
酒店公关部经理岗位职责
2013/11/24 职场文书
《掌声》教学反思
2014/02/23 职场文书
Redis如何一键部署脚本
2021/04/12 Redis
一篇文章弄懂Python中的内建函数
2021/08/07 Python
python神经网络Xception模型
2022/05/06 Python
win10如何更改appdata文件夹的默认位置?
2022/07/15 数码科技