我想获取一个元素数组,并将它们转换为一个对象。数组中的元素需要是对象的键,带有一些默认的空字符串,作为以后要更改的值。
['name','age','city', 'town', 'country'] { name: "", age: "", city: "", town: "", country: "" }
最后我发现我们可以使用数组的reduce方法。
我们可以创建一个空对象,传递数组项并使用它们动态创建对象键。
const userChoices = ['name','age','city', 'town', 'country']; const result = userChoices.reduce((acc, curr) => { acc[curr] = "" return acc }, {}) result.name = "calvin" console.log(result)
空对象用作累加器,该累加器被传递回函数并填充数组中的下一项。
acc是我们试图填充并返回的东西,而curr是我们正在迭代的数据中处理的当前项。