【发布时间】:2019-01-16 13:57:45
【问题描述】:
const fields = ['email', 'password'];
const objFields = {};
fields.forEach(value => {
objFields[value] = '';
});
console.log(objFields);
// Outputs {email: "", password: ""}
我想获得相同的结果,但不必初始化一个空对象。
其实我的情况是我想设置一个 React 组件的初始状态。
class App extends Component {
fields = ['email', 'password'];
state = {
fields: // the one liner code here that should return the object created from fields array,
};
...
预期结果是
// state = {fields: {email: "", password: ""}}
【问题讨论】:
-
fields将只有两个值? -
fields.reduce((acc,k) => (acc[k] = "", acc), {}) -
@brk 这只是为了简单起见