JavaScript Q&A Logo
JavaScript Q&A Part of the Q&A Network
Real Questions. Clear Answers.
Ask any question about JavaScript here... and get an instant response.
Q&A Logo Q&A Logo

How can I merge two arrays of objects by a unique key in JavaScript while preserving all properties?

Asked on Oct 22, 2025

Answer

To merge two arrays of objects by a unique key in JavaScript while preserving all properties, you can use the "map" and "reduce" methods. This approach ensures that objects with the same key are combined into a single object.
<!-- BEGIN COPY / PASTE -->
        const array1 = [
            { id: 1, name: "Alice" },
            { id: 2, name: "Bob" }
        ];

        const array2 = [
            { id: 1, age: 25 },
            { id: 3, name: "Charlie" }
        ];

        const mergedArray = [...array1, ...array2].reduce((acc, obj) => {
            const existing = acc.find(item => item.id === obj.id);
            if (existing) {
                Object.assign(existing, obj);
            } else {
                acc.push(obj);
            }
            return acc;
        }, []);

        console.log(mergedArray);
        <!-- END COPY / PASTE -->
Additional Comment:
  • This code uses the "reduce" method to iterate over the combined arrays.
  • The "find" method checks if an object with the same "id" already exists in the accumulator.
  • "Object.assign" merges properties of objects with the same "id".
  • The result is an array where objects with the same "id" are merged, preserving all properties.
✅ Answered with JavaScript best practices.
← Back to All Questions

Q&A Network
The Q&A Network
JavaScript
Ask Questions / Get Answers about JavaScript!
Web Languages
Ask Questions / Get Answers about Web Languages!
Analytics
Ask Questions / Get Answers about Analytics!
AI Video
Ask Questions / Get Answers about AI Video!
AI Ethics
Ask Questions / Get Answers about AI Ethics!
Monetization
Ask Questions / Get Answers about Ad & Monetization!
AI Business
Ask Questions / Get Answers about AI Business!
Bootstrap
Ask Questions / Get Answers about Bootstrap!
AI Audio
Ask Questions / Get Answers about AI Audio!
AI Coding
Ask Questions / Get Answers about AI Coding!
WordPress
Ask Questions / Get Answers about WordPress!
Quantum
Ask Questions / Get Answers about Quantum Computing!
Web Development
Ask Questions / Get Answers about Web Development!
Robotics
Ask Questions / Get Answers about Robotics!
CSS
Ask Questions / Get Answers about CSS!
Video Editing
Ask Questions / Get Answers about Video Editing!
Film Production
Ask Questions / Get Answers about Film Production!
SEO
Ask Questions / Get Answers about SEO!
Cybersecurity
Ask Questions / Get Answers about Cybersecurity!
AI Education
Ask Questions / Get Answers about AI Education!
Photography
Ask Questions / Get Answers about Photography!
AI Images
Ask Questions / Get Answers about AI Images!
VR & AR
Ask Questions / Get Answers about VR & AR!
AI Marketing
Ask Questions / Get Answers about AI Marketing!
AI Writing
Ask Questions / Get Answers about AI Writing!
IoT
Ask Questions / Get Answers about IoT!
HTML
Ask Questions / Get Answers about HTML!
AI Design
Ask Questions / Get Answers about AI Design!
Networking
Ask Questions / Get Answers about Networking!
DevOps
Ask Questions / Get Answers about DevOps!
Tailwind
Ask Questions / Get Answers about Tailwind!
AI
Ask Questions / Get Answers about AI!
Data Science
Ask Questions / Get Answers about Data Science!
Cloud Computing
Ask Questions / Get Answers about Cloud Computing!
Web Hosting
Ask Questions / Get Answers about Hosting!
Graphic Design
Ask Questions / Get Answers about Graphic Design!
MobileDev
Ask Questions / Get Answers about Mobile Developement!
Security
Ask Questions / Get Answers about Website Security!
Chatbots
Ask Questions / Get Answers about Chatbots!
Performance
Ask Questions / Get Answers about Web Vitals!