`

js复制数组

阅读更多

前端面试题:简单实现数组复制的方法

 

(1)Array的slice()方法

            ---从已有的数组中返回选定的元素。返回一个新的数组对象不会修改原数组

            arrayObject.slice(start,end)

                   start是负数,规定从数组尾部开始算起的位置,-1 指最后一个元素。

                   end 未被规定,会选取从 start 到数组结尾的所有元素。

    

<script type="text/javascript">
  Array.prototype.clone=function(){
		return this.slice(0);
  }
 </script>

 

var arr=[1,2,3,4];
var clone = arr.slice(0);
alert(clone);

 

(2)Array的concat()方法

           ---实现数组的合并。不会改变现有的数组,而仅仅会返回被连接数组的一个副本

           进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。

           arrayObject.concat(arrayX,arrayX,......,arrayX)

 

 

  
<script type="text/javascript">
  Array.prototype.clone=function(){ 
		return [].concat(this); //或者return this.concat();
  } 
 </script>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics