Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mencantumkan Dua Tatasusunan Objek Dengan Cekap Berdasarkan Kunci Sepunya?

Bagaimana untuk Mencantumkan Dua Tatasusunan Objek Dengan Cekap Berdasarkan Kunci Sepunya?

Susan Sarandon
Susan Sarandonasal
2024-12-11 20:51:15333semak imbas

How to Efficiently Merge Two Arrays of Objects Based on a Common Key?

Menggabungkan Tatasusunan Objek Berdasarkan Kekunci Sepunya

Andaikan anda mempunyai dua tatasusunan objek dengan kunci biasa, seperti id. Anda perlu menggabungkan tatasusunan ini berdasarkan kekunci biasa dan mencipta tatasusunan baharu dengan sifat gabungan kedua-dua objek.

Untuk mencapai ini dengan cekap, anda boleh memanfaatkan kaedah Object.assign(). Begini cara anda boleh melakukannya:

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

let arr2 = [
  { id: "abdc4051", name: "ab" },
  { id: "abdc4052", name: "abc" },
];

let arr3 = arr1.map((item, i) => Object.assign({}, item, arr2[i]));

Kaedah Object.assign() menggabungkan sifat objek yang diluluskan sebagai argumen ke dalam objek baharu. Dalam kes ini, kami menggunakannya untuk menggabungkan sifat objek yang sepadan dalam tatasusunan arr1 dan arr2.

Arr3 tatasusunan yang terhasil akan mengandungi objek yang digabungkan, setiap satu dengan sifat kedua-dua objek input:

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

Pendekatan ini memastikan penggabungan tatasusunan objek yang cekap berdasarkan kunci biasa tanpa memerlukan lelaran eksplisit ke atas objek kunci.

Atas ialah kandungan terperinci Bagaimana untuk Mencantumkan Dua Tatasusunan Objek Dengan Cekap Berdasarkan Kunci Sepunya?. 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