JavaScript Convert an Array to an Object (original) (raw)
Last Updated : 19 Nov, 2024
These are the following ways to convert an array to an Object:
1. Using JavaScript **Object.assign() method
The first approach is using the **Object.assign() method. This method copies the values of all enumerable properties from source objects(one or more) to a target object.
JavaScript `
let a = [1, 2, 3, 4]; let obj = Object.assign({}, a); console.log(JSON.stringify(obj));
`
Output
{"0":1,"1":2,"2":3,"3":4}
**2. Using JavaScript for loop
In this method, we will traverse the array using a JavaScript for loop and assign each array element to the target object.
JavaScript `
let a = ['GFG1', 'GFG2', 'GFG3', 'GFG4']; let rv = {}; for (let i = 0; i < a.length; ++i) rv[i] = a[i]; console.log(JSON.stringify(rv));
`
Output
{"0":"GFG1","1":"GFG2","2":"GFG3","3":"GFG4"}
3. Using JavaScript **Object.fromEntries() method
The **Object.fromEntries() method in JavaScript is a standard built-in object which is used to transform a list of key-value pairs into an object. This method returns a new object whose properties are given by the entries of the iterable.
JavaScript `
let a = [['JS', 'JavaScript'], ['GFG', 'GeeksforGeeks']]; let obj = Object.fromEntries(a); console.log(obj);
`
Output
{ JS: 'JavaScript', GFG: 'GeeksforGeeks' }
4. Using the Spread Operator
**The Spread operator allows an iterable to expand in places where 0+ arguments are expected. It is mostly used in the variable array where there is more than 1 value is expected. It allows us the privilege to obtain a list of parameters from an array.
JavaScript `
const arr = ["Geeks", "for", "Geeks"]; const obj = {...arr}; console.log(obj);
`
Output
{ '0': 'Geeks', '1': 'for', '2': 'Geeks' }
5. Using forEach
Using the forEach method iterates over the array of key-value pairs. For each pair, the key is used as the object property, and the corresponding value is assigned. This approach dynamically builds an object from the array elements.
JavaScript `
const arr = ["Geeks", "for", "Geeks"]; const obj = {}; arr.forEach((value, index) => obj[index] = value); console.log(obj);
`
Output
{ '0': 'Geeks', '1': 'for', '2': 'Geeks' }
6. Using JavaScript reduce Method
The reduce method applies a function against an accumulator and each element in the array to reduce it to a single value. In this case, we use it to accumulate an object from the array elements.
JavaScript `
const a = ['Hello', 'World', 'Welcome', 'To', 'JavaScript'];
const obj = a.reduce((acc, current, index) => { acc[index] = current; return acc; }, {});
console.log(JSON.stringify(obj));
`
Output
{"0":"Hello","1":"World","2":"Welcome","3":"To","4":"JavaScript"}