Javascript 我如何循环遍历状态中类似的对象并将它们推入对象?

Javascript 我如何循环遍历状态中类似的对象并将它们推入对象?,javascript,reactjs,Javascript,Reactjs,我的对象中有几个变量。state对象: this.state = { draw_number: '', user_number_1: '', user_number_2: '', user_number_3: '', user_number_4: '', user_number_5: '', user_number_6: '', } 如何循环它们并将它们添加到以下对象中: results { num

我的
对象中有几个变量。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);
  }
this.state={
图纸编号:'',
用户\u编号\u 1:“”,
用户编号\u 2:“”,
用户编号\u 3:“”,
用户编号\u 4:“”,
用户\u编号\u 5:“”,
用户\u编号\u 6:“”,
}
}
submitHandler=()=>{
让结果={};

对于(设i=1;i可以使用[spread运算符][。 通过这种方式,您可以从对象复制所有密钥(ECMAScript 2018中新增):

constmyfriend={name:'George',年龄:12}
const mySuperFriend={…myFriend,superpowers:true}
注 您不应该在react中直接改变state对象。
相反,您可以创建一个新对象并
setState
it

您可以从状态中提取
draw_number
属性,并将其用作
draws
,然后在状态中的其余属性上使用
对象。键
,并将这些值用作
数字
数组

submitHandler = () => {
  let { draw_number: draws, ...rest } = this.state;
  let results = {
    numbers: Object.keys(rest).map(key => rest[key])
    draws,
  };
  console.log(results);
}

你能更具体地回答你的问题吗?它应该与你自己的解决方案有什么不同?我想循环我的状态值,并将它们添加到
results
对象中,该对象稍后将通过AJAX调用传递给服务器。你的问题是,你每次都在循环中覆盖结果,而不是附加/push/add/etc…一个解决方案是创建一个具有数字属性的对象
让数字={number_1:'',等等..}
,在保存时,使用object.keys,可以将它们放入数组中。