js 数组克隆方法 记录

  数组对象不能简单的赋值,因为这样是让两个变量指向同一个地址,任意一个变量改变了,另一个的值也会跟着改变,

所以需要通过一些克隆的方法,复制一个相同的对象,对该对象进行操作。

  (1)遍历数组逐项添加到新数组中

Array.prototype.clone=function(){ var a=[]; for(var i=0,l=this.length;i<l;i++) a.push(this[i]); return a; } 

  (2)通过Array对象的slice方法

  slice方法是通过参数start和end的传入值来返回数组中的一段,该方法不对原数组进行操作。我们通过slice(0)可以使其返回所有项。 

Array.prototype.clone=function(){ return this.slice(0); }

  (3)通过Array对象的concat方法

  concat方法是用来实现数组的合并的。通过和一个空函数的合并,即可实现我们的克隆功能。 

Array.prototype.clone=function(){ return [].concat(this); } //或者 Array.prototype.clone=function(){ return this.concat(); } 

 

posted @ 2015-11-26 13:22  前端小牛  阅读(198)  评论(0)    收藏  举报