
- 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 convert nested array pairs to objects in an array in JavaScript ?
Suppose, we have an array of arrays like this −
const arr = [ [ ['firstName', 'Joe'], ['lastName', 'Blow'], ['age', 42], ['role', 'clerk'], [ ['firstName', 'Mary'], ['lastName', 'Jenkins'], ['age', 36], ['role', 'manager'] ] ] ];
We are required to write a JavaScript function that takes in one such array. The function should construct an array of objects based on this array of arrays.
The output array should contain an object for each unique user and other details about it.
Therefore, the output for the array should look like −
const output = [ {firstName: 'Joe', lastName: 'Blow', age: 42, role: 'clerk'}, {firstName: 'Mary', lastName: 'Jenkins', age: 36, role: 'manager'} ];
Example
The code for this will be −
const arr = [ [ ['firstName', 'Joe'], ['lastName', 'Blow'], ['age', 42], ['role', 'clerk'], [ ['firstName', 'Mary'], ['lastName', 'Jenkins'], ['age', 36], ['role', 'manager'] ] ] ]; const convertToObject = (arr = []) => { const empty = {}; const res = arr.map(el => { const object = this; el.forEach(attr => { let name = attr[0], value = attr[1]; object[name] = value; return object; }, object); return this; }, empty); return res; } console.log(convertToObject(arr));
Output
And the output in the console will be −
[ { firstName: 'Joe', lastName: 'Blow', age: 42, role: 'clerk', 'firstName,Mary': [ 'lastName', 'Jenkins' ] } ]
- Related Articles
- How to create an array with multiple objects having multiple nested key-value pairs in JavaScript?
- Convert nested array to string - JavaScript
- How to sort an array of objects based on the length of a nested array in JavaScript
- Convert object of objects to array in JavaScript
- Convert object to array of objects in JavaScript
- Convert array of objects to an object of arrays in JavaScript
- How to convert an array of objects to an array of their primitive types in java?
- How to convert array into array of objects using map() and reduce() in JavaScript
- Group objects inside the nested array JavaScript
- How to convert Object’s array to an array using JavaScript?
- Update an array of strings nested within an array of objects in MongoDB
- Convert an array of objects into plain object in JavaScript
- How to create an array of partial objects from another array in JavaScript?
- Convert string with separator to array of objects in JavaScript
- How to convert an object into an array in JavaScript?

Advertisements