Transforming Arrays into Objects
Suppose we have an array of strings, such as ['a', 'b', 'c'], and want to convert it into an object. How can we achieve this?
ECMAScript 6 and Spread Syntax
In ECMAScript 6, we have Object.assign(), a useful method that enables us to merge properties from an enumerable source object into a target object:
Object.assign({}, ['a','b','c']); // {0: "a", 1: "b", 2: "c"}
Please note that the array's own length property is not copied into the object as it's not enumerable.
Spread syntax in ES8 also allows us to create objects from arrays:
{ ...['a', 'b', 'c'] } // { a: "a", b: "b", c: "c" }
Custom Keys with Reduce
To create objects with custom keys, we can utilize reduce:
['a', 'b', 'c'].reduce((a, v) => ({ ...a, [v]: v}), {}) // { a: "a", b: "b", c: "c" }
This method iterates through the array elements, combining them into a new object with customized key-value pairs.
The above is the detailed content of How Can I Convert an Array into an Object in JavaScript?. For more information, please follow other related articles on the PHP Chinese website!