Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengklon Tatasusunan Objek dalam JavaScript?
Cabaran
Mencipta salinan dalam tatasusunan objek yang mengandungi rujukan kepada objek lain dalam tatasusunan boleh menjadi tugas yang kompleks dalam JavaScript. Hanya mengklon tatasusunan hanya menyalin rujukan, yang membawa kepada perubahan dalam satu tatasusunan yang mempengaruhi tatasusunan yang lain.
structuredClone: A Modern Solution
Kaedah terbaharu dan pilihan untuk deep pengklonan tatasusunan dalam JavaScript adalah dengan menggunakan structuredClone:
array2 = structuredClone(array1);
Fungsi ini tersedia dalam pelayar moden (Chrome 98, Firefox 94) tetapi memerlukan polyfill untuk keserasian yang lebih luas.
Pengklonan Dalam berasaskan JSON
Untuk sokongan penyemak imbas yang luas, teknik berasaskan JSON boleh digunakan .
Menggunakan JSON.parse dan JSON.stringify
Jika objek anda boleh bersiri JSON, anda boleh menggunakan JSON.parse dan JSON.stringify untuk pengklonan dalam. Walau bagaimanapun, kaedah ini mempunyai kelebihan dan kekurangan:
Kelebihan
Kelemahan
let clonedArray = JSON.parse(JSON.stringify(nodesArray));
Menggunakan Spread Operator dengan .map
Untuk pengklonan cetek dalam penyemak imbas moden, operator spread yang digabungkan dengan .map boleh menjadi lebih berprestasi:
clonedArray = nodesArray.map(a => {return {...a}});
Kelebihan
Kelemahan
Tanda Aras: Kaedah sebaran berprestasi jauh lebih pantas daripada berasaskan JSON pengklonan untuk tatasusunan 20 objek dengan kedalaman bersarang 2.
Atas ialah kandungan terperinci Bagaimana untuk Mengklon Tatasusunan Objek dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!