将数组转换为对象的高级方法
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; }
我正在努力解决以下 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; }