我的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);
}

10-05 21:03
查看更多