This article mainly introduces three ways to clear arrays in JavaScript. Has very good reference value. Let’s take a look at it with the editor
Method 1, splice
var ary = [1,2,3,4]; ary.splice(0,ary.length); console.log(ary); // 输出 [],空数组,即被清空了
Method 2, length assignment is 0
This method is very interesting. In other languages such as Java, the length of the array is read-only and cannot be assigned. For example,
int[] ary = {1,2,3,4}; ary.length = 0;
will report an error in Java and fail to compile.
In JS, it is possible, and the array is cleared. For example,
var ary = [1,2,3,4]; ary.length = 0; console.log(ary); // 输出 [],空数组,即被清空了
Currently, the clear method of the array in Prototype and the empty method of the array in the mootools library use this method to clear the array.
Method 3, assign value to []
var ary = [1,2,3,4]; ary = []; // 赋值为一个空数组以达到清空原数组
The clear method of the Ext.CompositeElementLite class in the Ext library uses this method to clear.
Method 2 retains other attributes of the array, while method 3 does not.
Many people think that method 2 is more efficient because it only reassigns length, while method 3 re-creates an object. After testing, it is precisely method 3 that is most efficient. Test code:
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);
Test result:
IE6 | IE7 | IE8 | IE9 | Firefox | Safari | Chrome | |
94 | 29 | 14 | 1 | 4 | 3 | 1 | |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
The above is the detailed content of Detailed introduction to three ways to clear arrays in JavaScript. For more information, please follow other related articles on the PHP Chinese website!