
- Javascript Basics Tutorial
- Javascript - Home
- Javascript - Overview
- Javascript - Syntax
- Javascript - Enabling
- Javascript - Placement
- Javascript - Variables
- Javascript - Operators
- Javascript - If...Else
- Javascript - Switch Case
- Javascript - While Loop
- Javascript - For Loop
- Javascript - For...in
- Javascript - Loop Control
- Javascript - Functions
- Javascript - Events
- Javascript - Cookies
- Javascript - Page Redirect
- Javascript - Dialog Boxes
- Javascript - Void Keyword
- Javascript - Page Printing
- JavaScript Objects
- Javascript - Objects
- Javascript - Number
- Javascript - Boolean
- Javascript - Strings
- Javascript - Arrays
- Javascript - Date
- Javascript - Math
- Javascript - RegExp
- Javascript - HTML DOM
- JavaScript Advanced
- Javascript - Error Handling
- Javascript - Validations
- Javascript - Animation
- Javascript - Multimedia
- Javascript - Debugging
- Javascript - Image Map
- Javascript - Browsers
- JavaScript Useful Resources
- Javascript - Questions And Answers
- Javascript - Quick Guide
- Javascript - Functions
- Javascript - Resources
How to merge two arrays with objects in one in JavaScript?
Suppose, we have two arrays of objects like these −
const arr1 = [ {name:'test', lastname: 'test', gender:'f'}, {name:'test1', lastname: 'test1', gender:'f'}, {name:'test2', lastname: 'test2', gender:'m'} ]; const arr2 = [ {name:'test21', lastname: 'test21', gender:'f'}, {name:'test1', lastname: 'test1', gender:'f'}, {name:'test2', lastname: 'test2', gender:'m'}, {name:'test22', lastname: 'test22', gender:'m'} ];
These arrays do not have any repeating objects within (repeating on the basis of 'name' property) but there exist some objects with repeating names in the first and second objects.
We are required to write a JavaScript function that takes two such arrays and returns a new array.
The new array should contain all the unique objects of both the first and second array. Here, to check the uniqueness of any object we will check for its unique "name" property.
Example
The code for this will be −
const arr1 = [ {name:'test', lastname: 'test', gender:'f'}, {name:'test1', lastname: 'test1', gender:'f'}, {name:'test2', lastname: 'test2', gender:'m'} ]; const arr2 = [ {name:'test21', lastname: 'test21', gender:'f'}, {name:'test1', lastname: 'test1', gender:'f'}, {name:'test2', lastname: 'test2', gender:'m'}, {name:'test22', lastname: 'test22', gender:'m'} ]; const mergeUniquely = (arr1 = [], arr2 = []) => { const newArr = arr1.concat(arr2); const map = {}; const res = []; newArr.forEach(el => { if(!map[el['name']]){ res.push(el); map[el['name']] = 1; }; }); return res; }; console.log(mergeUniquely(arr1, arr2));
Output
And the output in the console will be −
[ { name: 'test', lastname: 'test', gender: 'f' }, { name: 'test1', lastname: 'test1', gender: 'f' }, { name: 'test2', lastname: 'test2', gender: 'm' }, { name: 'test21', lastname: 'test21', gender: 'f' }, { name: 'test22', lastname: 'test22', gender: 'm' } ]
- Related Articles
- How to merge two arrays in JavaScript?
- How to merge two JavaScript objects?
- Merge two arrays with alternating Values in JavaScript
- How to merge properties of two JavaScript Objects dynamically?
- Merge two objects in JavaScript ignoring undefined values
- How to merge two different array of objects using JavaScript?
- C# program to merge two sorted arrays into one
- JavaScript - Merge two arrays according to id property
- How to merge two object arrays of different size by key in JavaScript
- Merge objects in array with similar key JavaScript
- How to combine two arrays into an array of objects in JavaScript?
- How can I merge properties of two JavaScript objects dynamically?
- Merge two sorted arrays to form a resultant sorted array in JavaScript
- Merge two sorted arrays in Java
- Merge two sorted arrays in C#

Advertisements