转:js清空数组

方式1,splice

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

方式2,length赋值为0

这种方式很有意思,其它语言如Java,其数组的length是只读的,不能被赋值。如

1 2 int[] ary = {1,2,3,4}; ary.length = 0;

Java中会报错,编译通不过。而JS中则可以,且将数组清空了,

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

目前 Prototype中数组的 clear 和mootools库中数组的 empty 使用这种方式清空数组。

方式3,赋值为[]

1 2 var ary = [1,2,3,4]; ary = []; // 赋值为一个空数组以达到清空原数组

这里其实并不能说是严格意义的清空数组,只是将ary重新赋值为空数组,之前的数组如果没有引用在指向它将等待垃圾回收。

Ext库Ext.CompositeElementLite类的 clear 使用这种方式清空。

方式2 保留了数组其它属性,方式3 则未保留。很多人认为方式2的效率很高些,因为仅仅是给length重新赋值了,而方式3则重新建立个对象。经 测试 恰恰是方式3的效率高。测试代码:

1 2 3 4 5 6 7 8 9 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);

测试结果:

以上结果可看到:方式3更快,效率更高。因此如果不保留原数组的其它属性Ext采用的方式更值得推荐。

转自:

http://www.2cto.com/kf/201409/335383.html

删除数组中的一项或几项:http://www.cnblogs.com/Joans/p/3981122.html

时间: 2024-08-05 15:05:07

转:js清空数组的相关文章

js清空数组

两种实现方式: 1.splice:删除元素并添加新元素,直接对数组进行修改,返回含有被删除元素的数组. arrayObject.splice(index,howmany,element1,.....,elementX) index:必选,规定从何处添加/删除元素. howmany:必选,规定应该删除多少元素.未规定此参数,则删除从 index 开始到原数组结尾的所有元素. element1:可选,规定要添加到数组的新元素. Js代码 <script type ="text/javascri

js清空array数组的方法

方式1,splice Js代码   var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 [],空数组,即被清空了 方式2,length赋值为0 这种方式很有意思,其它语言如Java,其数组的length是只读的,不能被赋值.如 Java代码   int[] ary = {1,2,3,4}; ary.length = 0; Java中会报错,编译通不过. 而JS中则可以,且将数组清空了,如 Js代码   va

js中清空数组的方法

第一种:利用的是数组的splice()方法 第二种方法: 注意在js里面数组的长度是可读可写的.跟其他的语言不同. 第三方法: 实际上是将arr3指向了一个新的数组,这个数组中是空的,所以看起来像是被清空了,实际上并不能算是清空数组了.那么之前的数组没有其他的引用指向它,将被垃圾回收. 原文地址:http://blog.51cto.com/11871779/2108312

js删除数组元素、清空数组的简单方法

一.清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二.删除数组元素 var ary = [1,2,3,4]; ary.splice(0,1); 或 ary.splice($.inArray(2, ary), 1); 其中$.inArray(2, ary)用来查找某元素在数组中的索引位置.

POST请求中参数以form data和request payload形式+清空数组方式

测试与服务端ajax时用的dva封装的request方法,而后端怎么也拿不到参数.结果返现参数在request payload里. HTTP POST表单请求提交时:Content-Typeapplication/x-www-form-urlencoded,而使用原生AJAX的POST请求如果不指定请求头RequestHeader,默认使用的Content-Type是text/plain;charset=UTF-8. 表单提交数据是名值对的方式,而文件上传服务器需要特殊处理,普通的post请求数

JS中数组Array的用法示例介绍 (转)

new Array() new Array(len) new Array([item0,[item1,[item2,...]]] 使用数组对象的方法: var objArray=new Array(); objArray.concact([item1[,item2[,....]]]-------------------将参数列表连接到objArray的后面形成一个新的数组并返回,原有数组不受影响.如:var arr=["a","b","c"];

JavaScript中清空数组的三种方式

方式1,splice 1 2 3 var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 Array[0],空数组,即被清空了 方式2,length赋值为0 这种方式很有意思,其它语言如Java,其数组的length是只读的,不能被赋值.如 1 2 int[] ary = {1,2,3,4}; ary.length = 0; Java中会报错,编译通不过.而JS中则可以,且将数组清空了, 1 2 3 var a

清空数组的三种方式

清空数组的三种方式: 1.splice(0,数组的长度): var arr1 = arr.splice(0,arr.length); console.log(arr1); 2.让数组的长度为0: 这种方式很有意思,其它语言如Java,其数组的length是只读的,不能被赋值.如   int[] ary = {1,2,3,4}; ary.length = 0; Java中会报错,编译通不过.而JS中则可以,且将数组清空了; (在JS中length的属性是可读可写的,也就是可以给length属性赋值

JavaScript清空数组的三种方法

[文章系摘自网络,看到有用记录在博客,同时共享给大家] 原链接:http://www.2cto.com/kf/201409/335383.html 方式1,splice   var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 Array[0],空数组,即被清空了 方式2,length赋值为0 这种方式很有意思,其它语言如Java,其数组的length是只读的,不能被赋值.如 1 int[] ary = {1