js 数组操作之pop,push,unshift,splice,shift
时间:2021-07-01 10:21:17
帮助过:18人阅读
代码如下:
<script>
Array.prototype.pop=function(){
if(this.length!=0)this.length--;
return this;
}
pop 方法
移除数组中的最后一个元素并返回该元素。
arrayObj.pop( )
必选的 arrayObj 引用是一个 Array 对象。
说明
如果该数组为空,那么将返回 undefined。
代码如下:
var a=[1,2,3,4]
a.pop()
alert(a)
alert(a.pop())</script><script>
push 方法
将新元素添加到一个数组中,并返回数组的新长度值。
arrayObj.push([item1 [item2 [. . . [itemN ]]]])
参数
arrayObj
必选项。一个 Array 对象。
item, item2,. . . itemN
可选项。该 Array 的新元素。
说明
push 方法将以新元素出现的顺序添加这些元素。如果参数之一为数组,那么该数组将作为单个元素添加到数组中。如果要合并两个或多个数组中的元素,请使用 concat 方法。
代码如下:
Array.prototype.push=function(){
var len=arguments.length;
if(len>0)for(var i=0;i<len;i++)this[this.length]=arguments[i];
return this.length;
}
var a=[1,2,3,4]
a.push(5)
alert(a)
alert(a.push(6))</script><script>
unshift 方法
将指定的元素插入数组开始位置并返回该数组。
arrayObj.unshift([item1[, item2 [, . . . [, itemN]]]])
参数
arrayObj
必选项。一个 Array 对象。
item1, item2,. . .,itemN
可选项。将插入到该 Array 开始部分的元素。
说明
unshift 方法将这些元素插入到一个数组的开始部分,所以这些元素将以参数序列中的次序出现在数组中。
代码如下:
Array.prototype.unshift=function(){
var len=arguments.length;
this.reverse();
if(len>0)for(var i=len;i>0;i--)this[this.length]=arguments[i-1];
return this.reverse();
}
var a=[1,2,3,4]
a.unshift()
alert(a)
a.unshift(5,6)
alert(a)
alert(a.unshift(7))</script><script language="JScript">
Array.prototype.splice=function(){
var len=arguments.length;
var tarray=[];
if(len>1){
for(var i=arguments[0]+arguments[1];i<this.length;i++)tarray[tarray.length]=this[i];
this.length=arguments[0];
if(len>2)for(var i=2;i<len;i++)this[this.length]=arguments[i];
var tlen=tarray.length;
for(var i=0;i<tlen;i++)this[this.length]=tarray[i];
}
return this;
}
var a=[1,2,3,4];
splice 方法
从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。
arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
参数
arrayObj
必选项。一个 Array 对象。
start
必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。
deleteCount
必选项。要移除的元素的个数。
item1, item2,. . .,itemN
必选项。要在所移除元素的位置上插入的新元素。
说明
splice 方法可以移除从 start 位置开始的指定个数的元素并插入新元素,从而修改 arrayObj。返回值是一个由所移除的元素组成的新 Array 对象。
代码如下:
alert(a.splice(0,1));
alert(a.splice(0,1,1,1,1,1,1,1,1))
</script><script>
Array.prototype.shift=function(){
var f=this[0];
for(var i=0;i<this.length;i++)this[i]=this[i+1];
this.length--;
return f;
}
shift 方法
移除数组中的第一个元素并返回该元素。
arrayObj.shift( )
必选的 arrayObj 引用是一个 Array 对象。
说明
shift 方法可移除数组中的第一个元素并返回该元素。
代码如下:
var a=[1,2]
alert(a.shift())
alert(a)
</script>