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);
新聞熱點
疑難解答
圖片精選