Mengklon Tatasusunan Objek dalam JavaScript
Struktur Tatasusunan
Apabila mengklon tatasusunan objek , adalah penting untuk mempertimbangkan struktur objek dalam tatasusunan dan hubungannya. Jika objek merujuk objek lain dalam tatasusunan, salinan cetek hanya akan meniru rujukan, bukannya mencipta objek baharu.
Penyelesaian yang Tersedia
Terdapat beberapa pendekatan untuk pengklonan tatasusunan objek dalam JavaScript, bergantung pada keperluan khusus:
1. StructuredClone (ES2021)
Kaedah structuredClone ialah cara paling moden dan cekap untuk mengklon objek kompleks. Ia mencipta salinan yang mendalam, mengekalkan struktur dan perhubungan dalam tatasusunan asal.
const clonedArray = structuredClone(originalArray);
2. JSON.parse
Jika objek boleh bersiri kepada JSON, anda boleh menukarnya kepada rentetan menggunakan JSON.stringify dan kemudian menghuraikannya kembali kepada objek menggunakan JSON.parse. Pendekatan ini tidak berfungsi untuk objek tidak boleh bersiri.
const clonedArray = JSON.parse(JSON.stringify(originalArray));
3. Operator Spread dan Array.map
Untuk pengklonan objek cetek, anda boleh menggunakan operator spread ... dalam Array.map. Pendekatan ini mencipta semula objek tetapi tidak mencipta rujukan baharu. Ia cekap dan hanya boleh digunakan untuk objek cetek.
const clonedArray = originalArray.map(obj => ({ ...obj }));
4. Salinan Dalam jQuery
Walaupun kaedah lanjutan jQuery boleh digunakan untuk penyalinan cetek, salinan dalam memerlukan extend(true, {}, originalArray). Walau bagaimanapun, pendekatan ini mungkin menghadapi isu rekursi.
Pertimbangan Prestasi
Prestasi kaedah pengklonan berbeza-beza bergantung pada kerumitan dan struktur objek. structuredClone dan operator spread umumnya lebih cekap. Keputusan penanda aras untuk tatasusunan contoh dalam Lampiran yang disediakan menunjukkan bahawa pengendali sebaran jauh lebih pantas daripada JSON.stringify, menjadikannya ideal untuk pengklonan objek cetek.
Kesimpulan
The pilihan kaedah pengklonan bergantung kepada keperluan khusus aplikasi. Untuk pengklonan mendalam bagi struktur objek kompleks, structuredClone adalah disyorkan. Untuk pengklonan cetek objek boleh bersiri, JSON.stringify atau pendekatan operator spread boleh digunakan.
Atas ialah kandungan terperinci Bagaimana untuk Mengklon Susunan Objek dengan Berkesan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!