javascript - 如何循环遍历状态中的相似对象并将它们推送到对象中?

标签 javascript reactjs

我的 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/

相关文章:

javascript - 如何在Vue组件中导入外部函数?

javascript - 尽管更改已注册,knockout.js 不会更新我的 foreach 绑定(bind)

javascript - 使用 Chrome 控制台跟踪 javascript 的事件

css - 如何让 React Material-UI Accordion 充满整个高度?

javascript - 无法专注于 TextInput React Native - Amazon Fire Stick

javascript - react 多个复选框过滤器

javascript - 更改jtsage日期选择器中的日期框显示格式

javascript - 为什么 '+=' 运算符返回未定义?

javascript - 如何根据 cookie 在 GatsbyJS 中切换类?

javascript - 无法获取未定义或空引用的属性 'test'