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 相关文章推荐
IE6、IE7中获取Button元素的值的bug说明
Aug 28 Javascript
中文路径导致unitpngfix.js不正常的解决方法
Jun 26 Javascript
js获取对象为null的解决方法
Nov 21 Javascript
javascript特殊用法示例介绍
Nov 29 Javascript
用javascript关闭本窗口技巧小结
Sep 05 Javascript
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
Aug 03 Javascript
JavaScript类的写法
Sep 17 Javascript
JS产生随机数的用法小结
Dec 10 Javascript
angularjs+bootstrap菜单的使用示例代码
Mar 07 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
Jun 17 Javascript
vue中v-model动态生成的实例详解
Oct 27 Javascript
详解如何在Javascript和Sass之间共享变量
Nov 13 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用户指南-cookies部分
2006/10/09 PHP
php中对xml读取的相关函数的介绍一
2008/06/05 PHP
克隆一个新项目的快捷方式
2013/04/10 PHP
PHP的魔术常量__METHOD__简介
2014/07/08 PHP
php实现session自定义会话处理器的方法
2015/01/27 PHP
php实现二进制和文本相互转换的方法
2015/04/18 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
php mysql_list_dbs()函数用法示例
2017/03/29 PHP
基于jquery实现的表格分页实现代码
2011/06/21 Javascript
使用javascript创建快捷方式的简单实例
2013/08/09 Javascript
编写高性能Javascript代码的N条建议
2015/10/12 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
2015/11/15 Javascript
利用CSS3在Angular中实现动画
2016/01/15 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
2016/06/21 Javascript
Google 地图API资料整理及详细介绍
2016/08/06 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
2016/12/19 Javascript
vue富文本框(插入文本、图片、视频)的使用及问题小结
2018/08/17 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
Node.js学习教程之Module模块
2019/09/03 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
jQuery实现简单全选框
2020/09/13 jQuery
js实现简单的点名器随机色实例代码
2020/09/20 Javascript
python 文件查找及内容匹配方法
2018/10/25 Python
详解numpy的argmax的具体使用
2019/05/27 Python
Python ORM编程基础示例
2020/02/02 Python
python3中编码获取网页的实例方法
2020/11/16 Python
利用CSS3实现折角效果实例源码
2016/09/28 HTML / CSS
adidas官方旗舰店:德国运动用品制造商
2017/11/25 全球购物
印尼美容产品购物网站:PerfectBeauty.id
2017/12/01 全球购物
Lululemon加拿大官网:加拿大知名体育服装零售商
2019/04/12 全球购物
女士鞋子、包包和服装在线,第一款10美元:ShoeDazzle
2019/07/26 全球购物
adidas菲律宾官网:adidas PH
2020/02/07 全球购物
给幼儿园老师的表扬信
2014/01/19 职场文书
婚礼主持结束词
2014/03/13 职场文书
贫困证明怎么写
2015/06/16 职场文书
2016年度优秀辅导员事迹材料
2016/02/26 职场文书