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);
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn