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 相关文章推荐
IE8 下的Js错误HTML Parsing Error...
Aug 14 Javascript
为你的网站增加亮点的9款jQuery插件推荐
May 03 Javascript
RequireJS入门一之实现第一个例子
Sep 30 Javascript
jquery中取消和绑定hover事件的实现代码
Jun 02 Javascript
js利用正则表达式检验输入内容是否为网址
Jul 05 Javascript
node.js发送邮件email的方法详解
Jan 06 Javascript
JS手机端touch事件计算滑动距离的方法示例
Oct 26 Javascript
帝国cms首页列表页实现点赞功能
Oct 30 Javascript
实例解析Vue.js下载方式及基本概念
May 11 Javascript
Node.js中的cluster模块深入解读
Jun 11 Javascript
详解mpvue scroll-view自动回弹bug解决方案
Oct 01 Javascript
jquery实现Ajax请求的几种常见方式总结
May 28 jQuery
浅谈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获取网络文件的实现代码
2010/01/01 PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
2015/02/10 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
jquery中子元素和后代元素的区别示例介绍
2014/04/02 Javascript
jQuery入门之层次选择器实例简析
2015/12/11 Javascript
javascript下使用Promise封装FileReader
2016/02/19 Javascript
jQuery EasyUI提交表单验证
2016/07/19 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
JavaScript实现反转字符串的方法详解
2017/04/27 Javascript
javascript 开发之百度地图使用到的js函数整理
2017/05/19 Javascript
React组件中的this的具体使用
2018/02/28 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
2018/03/02 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
JS回调函数深入理解
2019/10/16 Javascript
微信小程序页面间传递数组对象方法解析
2019/11/06 Javascript
jquery添加div实现消息聊天框
2020/02/08 jQuery
Python类的多重继承问题深入分析
2014/11/09 Python
python内存管理分析
2015/04/08 Python
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
如何在Django中设置定时任务的方法示例
2019/01/18 Python
Tensorflow的梯度异步更新示例
2020/01/23 Python
python logging.info在终端没输出的解决
2020/05/12 Python
keras 多gpu并行运行案例
2020/06/10 Python
关于canvas.toDataURL 在iOS运行失败的问题解决
2020/09/16 HTML / CSS
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
We Fashion荷兰:一家国际时装公司
2018/04/18 全球购物
英国领先的大码时装品牌之一:Elvi
2018/08/26 全球购物
英国在线女鞋目的地:SIMMI
2018/12/27 全球购物
澳大利亚手袋、珠宝和在线时尚精品店:The Way
2019/12/21 全球购物
《彩色世界》教学反思
2014/04/12 职场文书
遵纪守法演讲稿
2014/05/23 职场文书
医学求职信
2014/05/28 职场文书
临床医学生职业规划书范文
2014/10/25 职场文书
本科毕业论文致谢词
2015/05/14 职场文书
2015质检员个人年终工作总结
2015/10/23 职场文书