我的this.state
对象中有几个变量:
this.state = {
draw_number: '',
user_number_1: '',
user_number_2: '',
user_number_3: '',
user_number_4: '',
user_number_5: '',
user_number_6: '',
}
我如何遍历它们并将它们添加到以下对象中:
results {
numbers: [],
draws: x
}
这是我目前的解决方案:
this.state = {
draw_number: '',
user_number_1: '',
user_number_2: '',
user_number_3: '',
user_number_4: '',
user_number_5: '',
user_number_6: '',
}
}
submitHandler = () => {
let results = {};
for (let i=1; i<=6; i++) {
results = this.state['user_number_' + i];
}
console.log(results);
}
现在我不能console.log我的'结果'对象
最佳答案
您可以从状态中提取draw_number
属性,并将其用作draws
,然后在状态中的其余属性上使用Object.keys
,并将这些值用作numbers
数组。
submitHandler = () => {
let { draw_number: draws, ...rest } = this.state;
let results = {
numbers: Object.keys(rest).map(key => rest[key])
draws,
};
console.log(results);
}