我想获取一个元素数组,并将它们转换为一个对象。数组中的元素需要是对象的键,带有一些默认的空字符串,作为以后要更改的值。
['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是我们正在迭代的数据中处理的当前项。