[英]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.