Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menggabungkan Dua Tatasusunan Objek Dengan Cekap Berdasarkan Kekunci Tanpa Mengulangi Kekunci Objek?

Bagaimana untuk Menggabungkan Dua Tatasusunan Objek Dengan Cekap Berdasarkan Kekunci Tanpa Mengulangi Kekunci Objek?

Barbara Streisand
Lepaskan: 2024-12-29 02:43:14
asal
385 orang telah melayarinya

How to Efficiently Merge Two Object Arrays Based on a Key Without Iterating Object Keys?

Menggabungkan Tatasusunan Objek Berdasarkan Kekunci tanpa Mengulangi Kekunci Objek

Pertimbangkan senario mempunyai dua tatasusunan objek:

const array1 = [
  { id: "abdc4051", date: "2017-01-24" },
  { id: "abdc4052", date: "2017-01-22" }
];

const array2 = [
  { id: "abdc4051", name: "ab" },
  { id: "abdc4052", name: "abc" }
];
Salin selepas log masuk

Matlamat kami adalah untuk menggabungkan tatasusunan ini berdasarkan sifat id, menghasilkan tatasusunan yang menggabungkan sifat kedua-duanya objects:

[
  { id: "abdc4051", date: "2017-01-24", name: "ab" },
  { id: "abdc4052", date: "2017-01-22", name: "abc" }
]
Salin selepas log masuk

Untuk mencapai ini dengan cekap tanpa menggunakan gelung pada kekunci Objek, kita boleh menggunakan fungsi map():

const mergedArray = array1.map((item, index) => Object.assign({}, item, array2[index]));
Salin selepas log masuk

Pendekatan ini menggunakan Object.assign() kaedah untuk menggabungkan sifat objek yang sepadan daripada kedua-dua tatasusunan menjadi objek gabungan baharu, yang kemudiannya terkumpul ke dalam mergedArray.

Array gabungan yang terhasil memenuhi keperluan kami untuk menggabungkan sifat berdasarkan kunci id yang dikongsi, tanpa memerlukan gelung berulang ke atas kekunci Objek.

Atas ialah kandungan terperinci Bagaimana untuk Menggabungkan Dua Tatasusunan Objek Dengan Cekap Berdasarkan Kekunci Tanpa Mengulangi Kekunci Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan