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 相关文章推荐
Js切换功能的简单方法
Nov 23 Javascript
setInterval,setTimeout与jquery混用的问题
Apr 08 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
Oct 29 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
Sep 25 Javascript
分享一则JavaScript滚动条插件源码
Mar 03 Javascript
JavaScript中switch语句的用法详解
Jun 03 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
Feb 17 Javascript
bootstrap laydate日期组件使用详解
Jan 04 Javascript
vue实现登陆登出的实现示例
Sep 15 Javascript
微信小程序实现选项卡效果
Nov 06 Javascript
浅谈layui 数据表格前后台传值的问题
Sep 12 Javascript
使用layui前端框架弹出form表单以及提交的示例
Oct 25 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出错界面
2006/10/09 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
2014/11/22 PHP
php curl常用的5个经典例子
2017/01/20 PHP
php 数据结构之链表队列
2017/10/17 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
PHP实现微信提现(企业付款到零钱)
2019/08/01 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
2006/06/26 Javascript
javascript 读取XML数据,在页面中展现、编辑、保存的实现
2009/10/27 Javascript
jQuery表单获取和失去焦点输入框提示效果的实例代码
2013/08/01 Javascript
Jquery each方法跳出循环,并获取返回值(实例讲解)
2013/12/12 Javascript
AngularJS操作键值对象类似java的hashmap(填坑小结)
2016/11/12 Javascript
利用Bootstrap实现表格复选框checkbox全选
2016/12/21 Javascript
react系列从零开始_简单谈谈react
2017/07/06 Javascript
JS沙箱模式实例分析
2017/09/04 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
jdk1.8+vue elementui实现多级菜单功能
2020/09/24 Javascript
详解如何在vue+element-ui的项目中封装dialog组件
2020/12/11 Vue.js
python中关于日期时间处理的问答集锦
2013/03/08 Python
通过数据库向Django模型添加字段的示例
2015/07/21 Python
ubuntu环境下python虚拟环境的安装过程
2018/01/07 Python
Python Django基础二之URL路由系统
2019/07/18 Python
python 环境搭建 及python-3.4.4的下载和安装过程
2019/07/20 Python
numpy.random.shuffle打乱顺序函数的实现
2019/09/10 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
2020/12/03 Python
用CSS3的box-reflect设置文字倒影效果的方法讲解
2016/03/07 HTML / CSS
施华洛世奇日本官网:SWAROVSKI日本
2018/05/04 全球购物
夏洛特和乔治婴儿和儿童时装精品店:Charlotte and George
2018/06/06 全球购物
用友笔试题目
2016/10/25 面试题
Linux中如何用命令创建目录
2016/12/02 面试题
安全资金保障制度
2014/01/23 职场文书
《独坐敬亭山》教学反思
2014/04/08 职场文书
设计师求职信
2014/07/01 职场文书
红白喜事主持词
2015/07/06 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
《地。-关于地球的运动-》单行本第七集上市,小说家朝井辽献上期待又害怕的推荐文
2022/03/31 日漫