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 相关文章推荐
IE/FireFox具备兼容性的拖动代码
Aug 13 Javascript
JQuery 表单中textarea字数限制实现代码
Dec 07 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
Feb 22 Javascript
Js中setTimeout()和setInterval() 何时被调用执行的用法
Apr 12 Javascript
使用js实现关闭js弹出层的窗口
Feb 10 Javascript
原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法
Aug 05 Javascript
React Native实现简单的登录功能(推荐)
Sep 19 Javascript
jQuery联动日历的实例解析
Dec 02 Javascript
JavaScript html5利用FileReader实现上传功能
Mar 27 Javascript
纯js实现隔行变色效果
Nov 29 Javascript
Element Carousel 走马灯的具体实现
Jul 26 Javascript
Vue 打包后相对路径的引用问题
Jun 05 Vue.js
浅谈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
DC这些乐高系列动画电影你看过几部?
2020/04/09 欧美动漫
PHP 得到根目录的 __FILE__ 常量
2008/07/23 PHP
php 遍历数据表数据并列表横向排列的代码
2009/09/05 PHP
PHP 批量删除数据的方法分析
2009/10/30 PHP
phpStudy配置多站点多域名和多端口的方法
2017/09/01 PHP
innerText和textContent对比及使用介绍
2013/02/27 Javascript
jquery mobile实现拨打电话功能的几种方法
2013/08/05 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
使用delegate方法为一个tr标签加一个链接
2014/06/27 Javascript
JavaScript获取网页中第一个链接ID的方法
2015/04/03 Javascript
在JavaScript中操作时间之setYear()方法的使用
2015/06/12 Javascript
获取JS中网页各种高宽与位置的方法总结
2016/07/27 Javascript
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
JavaScript实现的冒泡排序法及统计相邻数交换次数示例
2017/04/26 Javascript
nodejs express配置自签名https服务器的方法
2018/05/22 NodeJs
解决vue 界面在苹果手机上滑动点击事件等卡顿问题
2018/11/27 Javascript
vue路由插件之vue-route
2019/06/13 Javascript
使用Vue调取接口,并渲染数据的示例代码
2019/10/28 Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
2019/11/11 jQuery
JavaScript读取本地文件常用方法流程解析
2020/10/12 Javascript
详解Vue2的diff算法
2021/01/06 Vue.js
python实现机器学习之多元线性回归
2018/09/06 Python
通过实例解析python描述符原理作用
2020/01/22 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
纯css3实现效果超级炫的checkbox复选框和radio单选框
2014/09/01 HTML / CSS
详解HTML5 Canvas绘制不规则图形时的非零环绕原则
2016/03/21 HTML / CSS
师范生个人推荐信
2013/11/29 职场文书
和睦家庭事迹
2014/05/14 职场文书
解放思想演讲稿
2014/09/11 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
文艺有韵味的诗句(生命类、亲情类...)
2019/07/11 职场文书
导游词之藏龙百瀑景区
2019/12/30 职场文书
python实现简易自习室座位预约系统
2021/06/30 Python
SQL SERVER中的流程控制语句
2022/05/25 SQL Server