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

Bagaimanakah Saya Boleh Menggabungkan Dua Objek JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-21 09:38:11381semak imbas

How Can I Merge Two JavaScript Objects?

Cara Menggabungkan Sifat Dua Objek JavaScript

JavaScript tidak menyediakan kaedah asli untuk menggabungkan objek secara langsung. Walau bagaimanapun, terdapat beberapa cara untuk menyelesaikan tugasan ini.

Kaedah Standard ECMAScript 2018

Untuk ES2018 dan kemudian, sintaks penyebaran objek membolehkan anda menggabungkan objek menggunakan kod berikut:

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

Sifat dalam obj2 akan tulis ganti dalam obj1. Anda boleh menggabungkan berbilang objek menggunakan sintaks yang sama.

Kaedah Standard ECMAScript 2015 (ES6)

ES6 menyediakan kaedah Object.assign() untuk menggabungkan objek. Argumen pertama ialah objek sasaran, manakala argumen seterusnya ialah objek yang sifatnya akan disalin ke dalam sasaran:

Object.assign(obj1, obj2);

// Merge multiple objects
const allRules = Object.assign({}, obj1, obj2, obj3);

Kaedah untuk ES5 dan Terdahulu

Untuk ES5 dan lebih awal, anda boleh menggunakan gelung berikut untuk bergabung objek:

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

Ini hanya akan menambah semua atribut obj2 pada obj1, yang berpotensi menimpa sifat sedia ada.

Nota Tambahan

  • Object.assign() menggabungkan objek dengan rujukan, manakala sintaks spread mencipta objek baharu.
  • Jika anda memerlukan lebih kawalan ke atas proses penggabungan, anda boleh mencipta fungsi tersuai untuk tujuan ini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Dua 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