繁体   English   中英

将没有键的值推送到javascript数组

[英]Push values without keys to javascript array

在react-native中,我试图将下面的代码中的值推到没有键的数组中,因为我正在使用的组件(react-native-table-component)将只接受字符串或数字数组,而不接受带有键值对。 我非常想找出答案,但是我被卡住了!

response.data的结构

response.data = {
  "Hours": 234,
  "Minutes": 343,
  "Days": 23,
  "Months": 4
}

代码接收response.data并推送到数组

  toScreenTwo = async () => {
    const { isLoggedIn, user} = this.state;
    try {
      if (!isLoggedIn) {                 
        const response = await http.post('/v1/signup/user', {
          user,
        })
        for (var value in response.data) {
          this.state.tableData2.push(value);
        }
        console.log('response', this.state.tableData2);
      }



      await this.setState({
        modalVisible: false,
        friendsModalVisible: false
      });
    } catch(err) {
      console.log("error ", err);
    }
}

当前代码结果

上面的代码当前仅在将值推入数组tableData2时才将键推入数组tableData2

react-native-table-component接受的数组格式

 tableData: [
        ['1', '2', '3'],
        ['a', 'b', 'c'],
        ['1', '2', '3'],
        ['a', 'b', 'c']
      ]

似乎需要将react-native-table-component传递给一个数组,该数组中至少嵌套有一个数组

失误

错误信息

如果有人有任何建议,那就太好了!

假设此response.data是一个包含数据的对象,如下所示:

{
    key: 1,
    key2, "Ele", and so on.
}

您可以使用该功能Objec.values得到的值数组[1, "Ele"]和功能apply于通过这些值作为PARAMS的功能push

let values = Object.values(response.data);
Array.prototype.push.apply(this.state.tableData2, values);

此代码段稍微说明了函数如何apply以及Object.values工作方式。

 let myObj = { "Hours": 234, "Minutes": 343, "Days": 23, "Months": 4 }; let array = []; let values = Object.values(myObj); Array.prototype.push.apply(array, values); console.log(array); 

更简单的是,如果可以覆盖属性this.state.tableData2 ,则只需分配Object.values的结果即可。

this.state.tableData2 = Object.values(response.data);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM