Javascript中克隆一个数组的实现代码

时间:2013-12-06    点击:149   

08年一家公司JS面试题,职位是javascript工程师(赴google)

面试官问我如何克隆一个数组,当时想了下js的Object没有clone方法,java的Object有。

那怎么得到一个新数组呢?

我当时回答:用一个loop将源数组元素依次push到新数组中。这是最简单的方法,但显然不是面试官想要的答案。

最后告知我:利用Array的slice方法。示例如下:

复制代码 代码如下:

var ary = [1,2,3];//源数组
var ary2 = ary.slice(0);//克隆一个新数组
console.log(ary2);

/*  改变ary2,不会影响到ary,说明的确是两个数组而非引用
 *  如果是两个引用,则改变其中任何一个都是对同一个数组操作
 */
ary2[0] = 10;
console.log(ary2);
console.log(ary);

Javascript中匿名函数的多种调用方式总结
变量声明时命名与变量作为对象属性时命名的区别解析
深入解析JavaScript中的变量作用域
Javascript变量作用域详解
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
> 返回     
地址:上海市普陀区胶州路941号长久商务中心 电话: QQ:
© Copyright 2012 上海网络 Product All Rights Reserved