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 相关文章推荐
线路分流自动跳转代码;希望对大家有用!
Dec 02 Javascript
jQuery入门第一课 jQuery选择符
Mar 14 Javascript
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
Jul 11 Javascript
JS中Date日期函数中的参数使用介绍
Jan 02 Javascript
常见的原始JS选择器使用方法总结
Apr 09 Javascript
jQuery修改li下的样式以及li下的img的src的值的方法
Nov 02 Javascript
深入探究使JavaScript动画流畅的一些方法
Jun 30 Javascript
JavaScript 不支持 indexof 该如何解决
Mar 30 Javascript
浅谈toLowerCase和toLocaleLowerCase的区别
Aug 15 Javascript
vue2.0结合DataTable插件实现表格动态刷新的方法详解
Mar 17 Javascript
Node.js中的require.resolve方法使用简介
Apr 23 Javascript
在Angular项目使用socket.io实现通信的方法
Jan 05 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
简单介绍下 PHP5 中引入的 MYSQLI的用途
2007/03/19 PHP
自己写的php curl库实现整站克隆功能
2015/02/12 PHP
PHP截取发动短信内容的方法
2017/07/04 PHP
HR vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
JQuery 插件制作实践 xMarquee插件V1.0
2010/04/02 Javascript
JavaScript实现判断图片是否加载完成的3种方法整理
2015/03/13 Javascript
Node.js中的流(Stream)介绍
2015/03/30 Javascript
跟我学习javascript的全局变量
2015/11/16 Javascript
javascript编程异常处理实例小结
2015/11/30 Javascript
JavaScript生成验证码并实现验证功能
2016/09/24 Javascript
原生js实现倒计时功能(多种格式调用)
2017/01/12 Javascript
jQuery实现级联下拉框实战(5)
2017/02/08 Javascript
express.js中间件说明详解
2019/03/19 Javascript
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
2019/06/10 Javascript
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
Python实现string字符串连接的方法总结【8种方式】
2018/07/06 Python
NLTK 3.2.4 环境搭建教程
2018/09/19 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
python实现登录密码重置简易操作代码
2019/08/14 Python
Tensorflow分批量读取数据教程
2020/02/07 Python
python实现简单的购物程序代码实例
2020/03/03 Python
Python super()函数使用及多重继承
2020/05/06 Python
Python下载网易云歌单歌曲的示例代码
2020/08/12 Python
HTML5 transform三维立方体实现360无死角三维旋转效果
2014/08/22 HTML / CSS
阿里云:Aliyun.com
2017/02/15 全球购物
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
外贸业务员岗位职责
2013/11/24 职场文书
影视动画专业个人的自我评价
2013/12/31 职场文书
《小蝌蚪找妈妈》教学反思
2014/02/21 职场文书
水电维修专业推荐信
2014/09/06 职场文书
中层干部考核评语
2015/01/04 职场文书
2016年优秀少先队辅导员事迹材料
2016/02/26 职场文书
工伤调解协议书
2016/03/21 职场文书
Go语言-为什么返回值为接口类型,却返回结构体
2021/04/24 Golang
手把手教你实现PyTorch的MNIST数据集
2021/06/28 Python