Pertanyaan wawancara JS dari sebuah perusahaan tahun 2008, posisinya javascript engineer (menuju Google)
Pewawancara bertanya kepada saya bagaimana cara mengkloning sebuah array. Pada saat itu, saya memikirkannya. Objek js tidak memiliki metode kloning, tetapi Objek java memilikinya.
Jadi bagaimana Anda mendapatkan array baru?
Saya menjawab pada saat itu: Gunakan loop untuk mendorong elemen array sumber ke dalam array baru secara berurutan. Ini adalah metode yang paling sederhana, namun jelas bukan jawaban yang diinginkan pewawancara.
Akhirnya beri tahu saya: gunakan metode irisan Array. Contohnya adalah sebagai berikut:
Copy kode kodenya sebagai berikut:
var ary = [1,2,3];//array sumber
var ary2 = ary.slice(0);//Kloning array baru
konsol.log(ary2);
/* Mengubah ary2 tidak akan mempengaruhi ary, menunjukkan bahwa mereka memang dua array dan bukan referensi.
* Jika ada dua referensi, mengubah salah satunya merupakan operasi pada larik yang sama
*/
ary2[0] = 10;
konsol.log(ary2);
konsol.log(ary);