通过比较 ''Name'' 获取 API 数组编号

Posted

技术标签:

【中文标题】通过比较 \'\'Name\'\' 获取 API 数组编号【英文标题】:Get API array number by comparing ''Name''通过比较 ''Name'' 获取 API 数组编号 【发布时间】:2021-03-27 12:27:30 【问题描述】:

我想将我按下的按钮的名称与一个数组进行比较,以找到匹配的名称,然后选择该数组编号。

我目前有一个 For 循环,它可以从数组中的每个团队获取所有信息,但我只需要一个特定的。

for( var i = 0 ; i <data.api.teams.length; i++)

.lenght 需要是我选择的团队名称对应的值。

例如:我按下一个名称和值为 ''Twente'' 的按钮,我希望 for 循环搜索名称以找到 ''Twente'' 并返回数字(''6' ') 作为一个值,以便在另一个循环中使用。

有人知道我该如何处理这个请求吗?

屏幕截图显示了我从调用中获取的 API 数据,以获取我需要的所有信息。

【问题讨论】:

【参考方案1】:

要获取项目的数组索引,您可以使用Array.findIndex

teamIndex = data.api.teams.findIndex(
    team => team.name == "Twente";
);

【讨论】:

【参考方案2】:

这比你需要的更复杂 - 你不需要手动循环,只需使用 Array.prototype.findIndex()

来自MDN:

findIndex() 方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回-1,表示没有元素通过测试。

在您的情况下,我们将传递 findIndex() 一个检查名称匹配的函数。

data.api.teams.findIndex(team => team.name == name);

【讨论】:

以上是关于通过比较 ''Name'' 获取 API 数组编号的主要内容,如果未能解决你的问题,请参考以下文章

BootCDNApi使用记录

以特定顺序从数组中的 API 获取数据

在 laravel 5.4 刀片中通过键从多维数组中获取值

尝试通过axios获取API,但不知道如何访问

反应、获取 API 和过滤数据

java数组实现买彩票(二个一维数组的比较思想)