我的 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);
}
关于javascript - 如何循环遍历状态中的相似对象并将它们推送到对象中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55378720/