Javascript中克隆一个数组的实现代码
2013-12-06 00:00
701 查看
08年一家公司JS面试题,职位是javascript工程师(赴google)
面试官问我如何克隆一个数组,当时想了下js的Object没有clone方法,java的Object有。
那怎么得到一个新数组呢?
我当时回答:用一个loop将源数组元素依次push到新数组中。这是最简单的方法,但显然不是面试官想要的答案。
最后告知我:利用Array的slice方法。示例如下:
面试官问我如何克隆一个数组,当时想了下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 数组添加一个 indexOf 方法的实现代码
- Javascript 数组添加一个 indexOf 方法的实现代码
- JavaScript实现将数组中所有元素连接成一个字符串的方法
- JavaScript数组对象实现增加一个返回随机元素的方法
- C语言 逆序一个数组的代码实现
- JavaScript 数组运用实现代码
- JS 在数组插入字符的实现代码(可参考JavaScript splice() 方法)
- javascript数字数组去重复项的实现代码
- javascript数字数组去重复项的实现代码
- 一个JavaScript递归实现反转数组字符串的实例
- blockchain 区块链200行代码:在JavaScript实现的一个简单的例子
- git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如: base'<--base<--A<--A' ^ | --- B<--B' 小米工程师常常需要寻找两个分支最近的分割点,即base.假设git 树是多叉树,请实现一个算法,计算git树上任意两点的最近分割点。 (假设git树节点数为n,用邻接矩阵的形式表示git树:字符串数组matrix包含n个字符串,每个字符串由字符'0
- JavaScript中数组的排序、乱序和搜索实现代码
- 一个实现字体大中小方法的JavaScript代码
- 一个简单的JavaScript数据缓存系统实现代码
- JavaScript数组对象实现增加一个返回随机元素的方法
- JavaScript创建一个欢迎cookie弹出窗实现代码