猿问

如何在状态中遍历相似对象并将其推入对象?

我的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我的'results'对象


慕少森
浏览 172回答 2
2回答

胡子哥哥

您可以draw_number从状态中提取属性并将其用作draws,然后Object.keys在状态中的其余属性上使用并将这些值用作numbers数组。submitHandler = () => {&nbsp; let { draw_number: draws, ...rest } = this.state;&nbsp; let results = {&nbsp; &nbsp; numbers: Object.keys(rest).map(key => rest[key])&nbsp; &nbsp; draws,&nbsp; };&nbsp; console.log(results);}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答