2015-09-24 10:02:32
在进行javascript中删除数组元素有两个方法,一个是delete,另一个是splice函数。这两个的区别在于一个删除的干净,一个删除的不干净。所谓的干净与不干净是说有没有彻底删除这个元素并且释放空间。
首先说一下delete,他的用法是这样的
var array = ["a","b","c","d","e"];
delete array[2]; // 把 c 删除了。
alert(array.length); // 弹出一下看看显示几?答案是肯定的应该是5个。
上面的段代码表示delete删除的不干净,没有将已经删除的元素空间释放,而是将这个值赋值为空。再来看一下splice函数
var array = ["a","b","c","d","e"]; // 同样先声明一组数组,并且给他设置初始值。
array.splice(2,1); // 这里注意,最重要的代码就在这里哪。
alert(array.length); // 弹出显示一下,哈哈 c 成功删除了。
alert(array.join(",")); // 为了进一步看得更清楚些,我们用 join函数合并了数组进行查看,结果为a,b,d,e
这表明该元素已经被彻底删除了。
splice 在Jscript.chm里的说明是:
从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。
参数
arrayObj
必选项。一个 Array 对象。
start
必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。
deleteCount
必选项。要移除的元素的个数。
item1, item2,. . .,itemN
必选项。要在所移除元素的位置上插入的新元素。
说明
splice 方法可以移除从 start 位置开始的指定个数的元素并插入新元素,从而修改 arrayObj。返回值是一个由所移除的元素组成的新 Array 对象。