前端面试题:简单实现数组复制的方法
(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>