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是否存在的方法
Jan 28 Javascript
jQuery多级弹出菜单插件ZoneMenu
Dec 18 Javascript
JavaScript中rem布局在react中的应用
Dec 09 Javascript
微信小程序  网络请求API详解
Oct 25 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
Nov 21 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
Mar 07 Javascript
Ionic2开发环境搭建教程
Aug 20 Javascript
Bootstrap模态框插入视频的实现代码
Jun 25 Javascript
bootstrap时间控件daterangepicker使用方法及各种小bug修复
Oct 25 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
Jan 25 Javascript
vue中后端做Excel导出功能返回数据流前端的处理操作
Sep 08 Javascript
js正则匹配markdown里的图片标签的实现
Mar 24 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 APC的安装与使用详解
2013/06/13 PHP
PHP生成制作验证码的简单实例
2016/06/12 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
2018/12/20 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
2019/12/04 PHP
JavaScript 获取用户客户端操作系统版本
2009/08/25 Javascript
Jquery动态更改一张位图的src与Attr的使用
2013/07/31 Javascript
jQuery aminate方法定位到页面具体位置
2013/12/26 Javascript
jQuery拖拽div实现思路
2014/02/19 Javascript
ajax读取数据后使用jqchart显示图表的方法
2015/06/10 Javascript
JavaScript实现将文本框的值插入指定位置的方法
2015/08/13 Javascript
实现React单页应用的方法详解
2016/08/02 Javascript
微信小程序登录态控制深入分析
2017/04/12 Javascript
js 监控iframe URL的变化实例代码
2017/07/12 Javascript
layui中使用jquery控制radio选中事件的示例代码
2018/08/15 jQuery
vue的全局变量和全局拦截请求器的示例代码
2018/09/13 Javascript
JS删除String里某个字符的方法
2021/01/06 Javascript
vue-router 路由传参用法实例分析
2020/03/06 Javascript
详解Vue的七种传值方式
2021/02/08 Vue.js
python3抓取中文网页的方法
2015/07/28 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
Python 十六进制整数与ASCii编码字符串相互转换方法
2018/07/09 Python
Linux下多个Python版本安装教程
2018/08/15 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
2019/07/15 Python
解决Jupyter NoteBook输出的图表太小看不清问题
2020/04/16 Python
html5模拟平抛运动(模拟小球平抛运动过程)
2013/07/25 HTML / CSS
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
给老婆的婚前保证书
2014/02/01 职场文书
生物制药专业自我鉴定
2014/02/19 职场文书
管事部库房保管员岗位职责
2014/02/21 职场文书
个人租房协议书
2014/04/09 职场文书
音乐兴趣小组活动总结
2014/07/07 职场文书
工伤事故赔偿协议书范文
2014/09/24 职场文书
省委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
老人与海读书笔记
2015/06/26 职场文书
小组口号霸气押韵
2015/12/24 职场文书