将数组转换为对象的高级方法

Advanced in converting arrays to objects

我正在努力解决以下 javascript 问题。 有什么办法可以这样吗?

// input, based on this data, I want the output to be like below
const ListValues = ["id", "name", "description"]

// output
const initialValues = {
    id: "",
    name: "",
    description: "",
}; 

非常感谢,祝你有美好的一天<3

您可以使用 Object.fromEntries() and Array.map() 从输入创建您想要的对象。

const ListValues = ["id", "name", "description"];

const initialValues = Object.fromEntries(ListValues.map(v => [v, '']));

console.log('initialValues:', initialValues)
.as-console-wrapper { max-height: 100% !important; top: 0; }

您也可以使用 Array.reduce() 得到相同的结果:

const ListValues = ["id", "name", "description"];

const initialValues = ListValues.reduce((acc, cur) => { 
    acc[cur] = '';
    return acc;
}, {})

console.log('initialValues:', initialValues)
.as-console-wrapper { max-height: 100% !important; top: 0; }