2018-07-04 JavaScript中清空数组的三种方式
介绍之前,我们先看下splice方法;
定义和用法
splice() 方法用于插入、删除或替换数组的元素。
注意:这种方法会改变原始数组!
语法
array.splice(index,howmany,item1,.....,itemX)
index:是添加或者删除元素的起始位置
howmany:是删除元素的个数,必须是数字,可以是0
item1,....itemX是可选参数,是添加到数组的元素;
了解了上面的方法,我们来看下js中清空数组的三种方式
1.利用splice()方法
var ary = [1,2,3,4];
ary.splice(0,ary.length);// 从第0个位置开始,删除了数组长度个元素
console.log(ary); // 输出 [],空数组,即被清空了
2.length赋值为0
之前学习java的时候,长度length只是作为一个属性,我们是无法修改其值的,但是在js中,是可以给length赋值.
var ary = [1,2,3,4];
ary.length = 0;
console.log(ary); // 输出 [],空数组,即被清空了
3.数组赋值为[].
var ary = [1,2,3,4];
ary = []; // 赋值为一个空数组以达到清空原数组
这里其实并不能说是严格意义的清空数组,只是将ary重新赋值为空数组,之前的数组如果没有引用在指向它,那么将等待垃圾回收。
这里三种方法,谁的效率更高呢,我们可以做一个测试;
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);
大致如上面,去计算两种方法分别耗时多久,这里直接借用别人的结论;第三种方法,耗时少,效率更高;