替换数组中的多个变量,然后列出 Javascript
Replacing multiple variables inside an Array & then list Javascript
在下面的代码中,我调用了 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'
]
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
在下面的代码中,我调用了 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'
]
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