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"}