利用Array.splice实现Array的insert/remove
splice 方法
从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。
arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
参数
arrayObj
必选项。一个 Array 对象。
start
必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。
deleteCount
必选项。要移除的元素的个数。
item1, item2,. . .,itemN
必选项。要在所移除元素的位置上插入的新元素。
说明
splice 方法可以移除从 start 位置开始的指定个数的元素并插入新元素,从而修改 arrayObj。返回值是一个由所移除的元素组成的新 Array 对象。
要求
版本 5.5
- Array.prototype.clear=function(){
- this.length=0;
- }
- Array.prototype.insertAt=function(index,obj){
- this.splice(index,0,obj);
- }
- Array.prototype.removeAt=function(index){
- this.splice(index,1);
- }
- Array.prototype.remove=function(obj){
- var index=this.indexOf(obj);
- if (index>=0){
- this.removeAt(index);
- }
- }
使用:
- var a = [];
- for (var i = 0; i < 5; i++) a.insertAt(i, i);
- alert(a);
- a.removeAt(1);
- alert(a);