gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 01:14:34 25 4
gpt4 key购买 nike

在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传递一个数组,其中至少嵌套一个数组

错误

Error Message

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

最佳答案

假设此 response.data 是一个包含以下数据的对象:

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

您可以使用函数Objec.values来获取值数组[1, "Ele"],并使用函数apply来获取将这些值作为参数传递给函数 push

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

此代码片段解释了函数 applyObject.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);

关于javascript - 将没有键的值推送到 javascript 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54888411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com