首页 > 代码库 > JavaScript中清空数组的三种方式

JavaScript中清空数组的三种方式

方式1:splice函数

var arr = [0,1,2,3];
arr.splice(0,arr.length);
console.log(arr)

splice(2,1,"lemo"); // arr = [0,1,"lemo",3];

splice的第一个参数表示增加和删除元素的起始位置

splice的第二个参数表示要删除元素的个数

splice的第三个参数表示要添加的元素

 

 方式2:赋值length值为0

这种方式只对JavaScript有效,Java中会报错,其数组的length是只读的,不能被赋值

var arr = [0,1,2,3];
arr.length = 0;
console.log(arr); //输出[],空数组,就是数组被清空

 

方式3: 将数组赋值为[]

var arr = [0,1,2,3];
arr = []; // 赋值为一个空数组一大道清空原数组

方式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);

方式3的速度更快

JavaScript中清空数组的三种方式