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 相关文章推荐
写给想学习Javascript的朋友一点学习经验小结
Nov 23 Javascript
jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误
Jan 11 Javascript
使用js简单实现了tree树菜单
Nov 20 Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
Oct 09 Javascript
chrome调试javascript详解
Oct 21 Javascript
jquery通过name属性取值的简单实现方法
Jun 20 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
Aug 15 Javascript
javascript基于原型链的继承及call和apply函数用法分析
Dec 15 Javascript
vue.js 使用axios实现下载功能的示例
Mar 05 Javascript
VUE脚手架具体使用方法
May 20 Javascript
JavaScript获取当前url路径过程解析
Dec 27 Javascript
让JavaScript代码更加精简的方法技巧
Jun 01 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中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
深入PHP操作MongoDB的技术总结
2013/06/02 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
2015/12/31 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
JavaScript 设计模式 安全沙箱模式
2010/09/24 Javascript
简单的前端js+ajax 购物车框架(入门篇)
2011/10/29 Javascript
jquery $.getJSON()跨域请求
2011/12/21 Javascript
你需要知道的10个最佳javascript开发实践小结
2012/04/15 Javascript
jQuery中next()方法用法实例
2015/01/07 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
Yarn的安装与使用详细介绍
2016/10/25 Javascript
JS中事件冒泡和事件捕获介绍
2016/12/13 Javascript
简单易懂的天气插件(代码分享)
2017/02/04 Javascript
vue.js实现价格格式化的方法
2017/05/23 Javascript
vue 计时器组件的实现代码
2017/09/14 Javascript
vue.js在标签属性中插入变量参数的方法
2018/03/06 Javascript
vue实现购物车案例
2020/05/30 Javascript
Python中列表与元组的乘法操作示例
2018/02/10 Python
python实现人民币大写转换
2018/06/20 Python
python 实现UTC时间加减的方法
2018/12/31 Python
Python函数参数类型及排序原理总结
2019/12/19 Python
Python warning警告出现的原因及忽略方法
2020/01/31 Python
python输出结果刷新及进度条的实现操作
2020/07/13 Python
浅谈python处理json和redis hash的坑
2020/07/16 Python
python开根号实例讲解
2020/08/30 Python
巴西最大的家具及装饰用品店:Mobly
2017/10/11 全球购物
英国Iceland杂货店:网上食品购物
2020/12/16 全球购物
2014国培学习感言
2014/03/05 职场文书
银行职员自我鉴定
2014/04/20 职场文书
房地产公司见习自我鉴定
2014/04/28 职场文书
2014年教师节寄语
2014/08/11 职场文书
求职信范文怎么写
2015/03/19 职场文书
2019年教师节:送给所有老师的祝福语
2019/09/05 职场文书
六年级情感作文之500字
2019/10/23 职场文书
第四次工业革命,打工人与机器人的竞争
2022/04/21 数码科技