说我有一个像这样的数组:
const myArray = ['HP', 'QP', 'PS'];
我想要一个对象,其键是
myArray
的值,例如{ HP: 0, QP: 0, PS: 0 }
有没有一种方法可以一行完成以下操作:
const myObj = {};
myArray.forEach(item => myObj[item] = 0);
最佳答案
尝试使用reduce
:
const myArray = ['HP', 'QP', 'PS'];
const myObj = myArray.reduce((a, key) => Object.assign(a, { [key]: 0 }), {});
console.log(myObj);
在较新的环境中,您也可以使用
Object.fromEntries
:const myArray = ['HP', 'QP', 'PS'];
const myObj = Object.fromEntries(myArray.map(key => [key, 0]));
console.log(myObj);
关于javascript - 有没有一种方法可以从一行中的数组值设置对象键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50999575/