JavaScript中清空数组的方法总结


Posted in Javascript onDecember 02, 2016

 方式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 = []; // 赋值为一个空数组以达到清空原数组

这里其实并不能说是严格意义的清空数组,只是将ary重新赋值为空数组,之前的数组如果没有引用在指向它将等待垃圾回收。

Ext库Ext.CompositeElementLite类的 clear 使用这种方式清空。

方式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中清空数组的三种方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery 技巧小结
Apr 02 Javascript
JS验证日期的格式YYYY-mm-dd 具体实现
Jun 29 Javascript
JavaScript将数据转换成整数的方法
Jan 04 Javascript
javascript setinterval 的正确语法如何书写
Jun 17 Javascript
JS插件plupload.js实现多图上传并显示进度条
Nov 29 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
Dec 21 Javascript
Jquery根据浏览器窗口改变调整大小的方法
Feb 07 Javascript
JS常用正则表达式总结【经典】
May 12 Javascript
template.js前端模板引擎使用详解
Oct 10 Javascript
在 Vue.js中优雅地使用全局事件的方法
Feb 01 Javascript
解决Vue打包上线之后部分CSS不生效的问题
Nov 12 Javascript
JS canvas实现画板和签字板功能
Feb 23 Javascript
浅谈js中几种实用的跨域方法原理详解
Dec 02 #Javascript
基于JQuery实现的跑马灯效果(文字无缝向上翻动)
Dec 02 #Javascript
探讨跨域请求资源的几种方式(总结)
Dec 02 #Javascript
jQuery实现倒计时(倒计时年月日可自己输入)
Dec 02 #Javascript
JavaScript 计算笛卡尔积实例详解
Dec 02 #Javascript
jQuery联动日历的实例解析
Dec 02 #Javascript
利用jQuery插件imgAreaSelect实现获得选择域的图像信息
Dec 02 #Javascript
You might like
第六章 php目录与文件操作
2011/12/30 PHP
PHP代码实现表单数据验证类
2015/07/28 PHP
在php中设置session用memcache来存储的方法总结
2016/01/14 PHP
详解PHP中的8个魔术常量
2020/07/06 PHP
jQuery 工具函数学习资料
2010/04/29 Javascript
浅析jquery的作用与优势
2013/12/02 Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
可编辑下拉框的2种实现方式
2014/06/13 Javascript
node+express+ejs制作简单页面上手指南
2014/11/26 Javascript
JavaScript编程中的Promise使用大全
2015/07/28 Javascript
jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
2015/08/09 Javascript
基于javascript实现随机颜色变化效果
2016/01/14 Javascript
Node.js 应用跑得更快 10 个技巧
2016/04/03 Javascript
在vue中使用jointjs的方法
2018/03/24 Javascript
Vue中使用webpack别名的方法实例详解
2018/06/19 Javascript
原生js实现公告滚动效果
2021/01/10 Javascript
Flutter 超实用简单菜单弹出框 PopupMenuButton功能
2019/08/06 Javascript
Python fileinput模块使用介绍
2014/11/30 Python
Python实现设置windows桌面壁纸代码分享
2015/03/28 Python
Python读取图片属性信息的实现方法
2016/09/11 Python
Python基础学习之常见的内建函数整理
2017/09/06 Python
Win7 64位下python3.6.5安装配置图文教程
2020/10/27 Python
在Pycharm中将pyinstaller加入External Tools的方法
2019/01/16 Python
基于Python2、Python3中reload()的不同用法介绍
2019/08/12 Python
详解Python中Pyyaml模块的使用
2020/10/08 Python
python中if嵌套命令实例讲解
2021/02/25 Python
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
中东地区为妈妈们提供一切的头号购物目的地:Sprii
2018/05/06 全球购物
党建示范点实施方案
2014/03/12 职场文书
交通事故私了协议书
2014/04/16 职场文书
小组名称和口号
2014/06/09 职场文书
违反交通法规检讨书
2014/09/10 职场文书
授权委托书范本(单位)
2014/09/28 职场文书
《1942》观后感
2015/06/08 职场文书
公司行政管理制度范本
2015/08/05 职场文书
django如何自定义manage.py管理命令
2021/04/27 Python