在下面的代碼中,我呼叫了一個 NBA api,并從其中的特定括號創建了一個陣列。然而,這只給了我一個充滿數字的陣列,這些數字是 NBA 球隊的 ID。我正在嘗試將所有值更改為團隊名稱本身并列出它們。例如,“29”將是波特蘭開拓者隊;25 將是俄克拉荷馬城雷霆隊。
我已經嘗試了多個具有類似問題的執行緒,但還沒有找到有效的方法。
代碼:
var idarray = [];
var idz = response.api.standings
for (var i = 0; i < idz.length; i ) {
idarray.push(idz[i].teamId);
}
console.log(idarray)
從上面的代碼列印出來的陣列:
[
'41', '5', '20', '1', '26',
'24', '4', '27', '38', '2',
'6', '21', '7', '15', '10',
'19', '14', '8', '31', '23',
'11', '30', '28', '16', '17',
'40', '22', '9', '29', '25'
]
uj5u.com熱心網友回復:
1.首先,您需要將所有團隊 ID 映射到他們的名稱,如下所示:
// key -> ID, value -> name
const teamNames = {
25: 'Oklahoma City Thunder',
29: 'Portland Trailblazers',
...
}
2.然后你可以轉換你的陣列:
// For example idarray = [25, 29] initially
idarray = idarray.map(id => teamNames[id]);
console.log(idarray);
輸出:
[ 'Oklahoma City Thunder', 'Portland Trailblazers' ]
額外:映射陣列已準備好列印為積分榜,例如:
for (let index in idarray) {
console.log(`${index 1}. ${idarray[index]}`);
}
輸出:
1. Oklahoma City Thunder
2. Portland Trailblazers
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/365748.html
標籤:javascript 数组 变量 代替
