我試圖將 Terminals 欄位中的專案格式化為 { key, label } 陣列以填充下拉串列
Object {
"Status": "SUCCESS",
"Terminals": Object {
"0": Object {
"name": "GENESIS- DEMO Terminal",
"term_id": "GENESIS",
},
"1": Object {
"name": "GENESIS- DEMO Terminal",
"term_id": "GENESIS",
},
"name": "",
"term_id": "",
},
"TotalCount": 1
}
uj5u.com熱心網友回復:
您的回應中有總計數,因此基于該總計數從物件中讀取每個資料并將其推送到選項變數一個簡單的 for 回圈可以解決這個問題
檢查我的代碼
let response = {
"Status": "SUCCESS",
"Terminals": {
"0": {
"name": "GENESIS- DEMO Terminal",
"term_id": "GENESIS",
},
"1": {
"name": "GENESIS- DEMO Terminal",
"term_id": "GENESIS",
},
"name": "",
"term_id": "",
},
"TotalCount": 2
}
let options = [];
for(let i=0; i<response.TotalCount; i ) {
options.push({key:response.Terminals[i].term_id, label: response.Terminals[i].name})
}
console.log(options)
uj5u.com熱心網友回復:
使用Object.values()
const data = {
"Status": "SUCCESS",
"Terminals": {
"0": {
"name": "GENESIS- DEMO Terminal",
"term_id": "GENESIS",
},
"1": {
"name": "GENESIS- DEMO Terminal",
"term_id": "GENESIS",
}
},
"TotalCount": 1
};
const dropDownArray = Object.values(data.Terminals).map(({ name: label, term_id: key }) => ({ key, label }));
console.log(dropDownArray);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/338115.html
標籤:javascript 反应原生
