替换数组中的多个变量,然后列出 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