方式1:splice函数

arrayObject.splice(index,howmany,element1,.....,elementX)

index:必选,规定从何处添加/删除元素。

howmany:必选,规定应该删除多少元素。未规定此参数,则删除从 index 开始到原数组结尾的所有元素。

element1:可选,规定要添加到数组的新元素。

<script type ="text/javascript">  var arr = [1,2,3,4];  arr.splice(0,arr.length);
</script>  

方式2:给数组的length赋值为0

<script type ="text/javascript">  var arr = [1,2,3,4];  arr.length = 0;
</script> 

赋予数组的长度小于本身的长度,数组中后面的元素将被截断。

赋予数组的长度大于本身的长度,将扩展数组长度,多的元素为undefined。

方式3:直接赋予新数组 []

<script type ="text/javascript">  var arr = [1,2,3,4];  arr = [];
</script> 

这种方式为将arr重新复制为空数组,之前的数组如果没有被引用,将等待垃圾回收。

效率比较:

效率测试代码如下:

<script>var a = [];var b = [];var c = [];for(var i =0 ; i < 100000000;i++){a.push(i);}console.time('splice');a.splice(0,a.length); console.timeEnd('splice');for(var i =0 ; i < 100000000;i++){b.push(i);}console.time('length');b.length = 0;console.timeEnd('length');for(var i =0 ; i < 100000000;i++){c.push(i);}console.time('赋值[]');c = [];console.timeEnd('赋值[]');
</script>

测试结果:

splice: 0.010986328125ms
length: 0.009033203125ms
赋值[]: 0.024169921875ms

多次测试发现第二种方式最快,第一种其次,大数据量下 第三种最慢。

测试结果可能不严谨。大家仅做参考。

js如何清空数组最快?相关推荐

  1. 【day14】js中清空数组的三种方式

    方式1,splice var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 [],空数组,即被清空了 方式2,l ...

  2. JS中清空数组的方法

    1.splice splice:第一个参数:添加或删除元素的位置;第二个参数:删除元素的数量: splice影响元素组: const arr=[1,2,3,4,5]; //splice:第一个参数:添 ...

  3. js清空数组的3种常用方式

    js清空数组的方法 点击打开视频讲解 第一种方式:splice let array = ['a','b','c','d','e']; array.splice(0,array.length); con ...

  4. js清空数组的三种方法

    JavaScript中清空数组的三种方式 js清空数组的方法 1.splice函数 arrayObject.splice(index,howmany,element1,.....,elementX) ...

  5. js多层对象数组 合并_13个你必须知道的JS数组技巧

    在Javascript中,数组是一个重要且常见的知识点,我们经常将数据存储在数组中.作为一名Javascript工程师,数组必须要运用自如.这篇文章,向大家展示了在日常开发中,数组有哪些奇淫技巧值得关 ...

  6. 如何在 JavaScript 中清空数组?

    问: 这个问题的答案是社区的努力.编辑现有答案以改进这篇文章.它目前不接受新的答案或交互. 有没有办法清空数组,如果可能的话,可以使用 .remove()? 例如, A = [1,2,3,4]; 我怎 ...

  7. JAVA中将数组清空_JavaScript中清空数组的三种方式

    方式1,splice var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 [],空数组,即被清空了 方式2,l ...

  8. jq数组清空_JavaScript中清空数组的三种方式

    方式1,splice var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 [],空数组,即被清空了 方式2,l ...

  9. JavaScript清空数组的三种方法及效率分析

    方式1,splice 复制代码代码如下: var ary = [1,2,3,4];  ary.splice(0,ary.length);  console.log(ary); // 输出 [],空数组 ...

最新文章

  1. 第三代基因测序技术革新 云计算的应用
  2. mysql 远程连接速度慢的解决方案
  3. 【转载】哪个OA比较好,18家常见OA系统全方位大阅兵
  4. 照亮云备份的“钱”途
  5. 【转】Hadoop集群添加磁盘步骤
  6. 容易答错的java面试题_Java程序员面试中最容易答错的8道面试题,你中招了吗?...
  7. ssm整合之六 时间日期装换
  8. 在Java 8 Lambda中创建自己的循环结构
  9. python判断字典,列表,元组为空的方法。
  10. VS2013(InstallShield2015LimitedEdition)打包程序详解
  11. vue 开发依赖安装
  12. RabbitMq学习笔记004---在CentOS7上安装RabbitMQ
  13. 自定义分区partitioner实现数据分区存储
  14. 工作找了很多,兜兜转转,就是没遇到合适的,怎么办
  15. 【linux命令】cp复制命令
  16. jvm学习路线(简洁明了)
  17. 观点 | 以太坊:货币的互联网
  18. linux scp拷文件夹,linux scp远程拷贝文件及文件夹
  19. 安装系统-win 10
  20. 最短路——最短路计数(spfa)

热门文章

  1. flex for java_Java和Flex整合报错(四)
  2. 微信jsapi支付获取code_微信支付(公众号支付JSAPI)
  3. python开发需要掌握的知识_(深度学习)Python必须掌握基础知识,python,必会,知识点...
  4. Java 15 转正了,国内几大互联网公司均有贡献,其中腾讯最为突出!
  5. 每日一皮:客户被绑,蒙眼,惊问 “想干什么?”
  6. Containers vs Serverless
  7. 阿里技术专家加多:Java异步编程实战之基于JDK中的Future实现异步编程 | 文末赠书...
  8. 民间估值1个亿的AI核心代码终于开源了...
  9. opencv c++ 贴图
  10. 因为在此系统中禁止执行脚本解决