js 数组操作之pop,push,unshift,splice,shift

复制代码 代码如下:

  <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>