Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menggabungkan Objek JavaScript?

Bagaimanakah Saya Boleh Menggabungkan Objek JavaScript?

DDD
DDDasal
2024-12-25 04:33:17820semak imbas

How Can I Merge JavaScript Objects?

Bagaimanakah Objek JavaScript Boleh Digabungkan?

Penggabungan objek dalam JavaScript melibatkan penggabungan sifat daripada berbilang objek menjadi satu objek bersatu. Untuk mencapai matlamat ini, beberapa kaedah tersedia, setiap satu sesuai untuk versi dan keperluan JavaScript tertentu.

Kaedah Terbina dalam

Kaedah Standard ECMAScript 2018: Menggunakan hamparan objek, sintaks baharu untuk menggabungkan objek ialah:

let merged = {...obj1, ...obj2};

Sintaks ini mencipta objek gabungan baharu yang mengandungi sifat gabungan obj1 dan obj2. Sifat dalam obj2 menimpa sifat dalam obj1.

Kaedah Standard ECMAScript 2015: Object.assign() boleh digunakan untuk menggabungkan objek:

Object.assign(obj1, obj2);

Object.assign() ) mengubah suai obj1 di tempatnya, menggabungkan sifat obj2 ke dalamnya. Seperti dengan operator spread, sifat kemudiannya menimpa yang lebih awal.

Kaedah untuk ES5 dan Terdahulu

Untuk versi JavaScript sebelum ES5, pendekatan mudah ialah:

for (var attrname in obj2) { obj1[attrname] = obj2[attrname]; }

Gelung ini berulang melalui sifat obj2 dan memberikannya kepada obj1, dengan berkesan menggabungkan objek.

Fungsi Tersuai

Fungsi tersuai juga boleh digunakan:

function merge_options(obj1, obj2){
    var obj3 = {};
    for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
    for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
    return obj3;
}

Fungsi ini mencipta objek baharu obj3 dengan mengulang melalui obj1 dan obj2, menambah sifat kepada obj3.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Objek JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn