【发布时间】:2021-09-27 00:45:17
【问题描述】:
我正在尝试将变量值与纯 JavaScript 中的 API 响应进行匹配。为了匹配,我从响应中获取了静态索引,但稍后可能会出现索引更改的情况。所以我有另一个存储确切位置的字段数组。
有没有办法使用这个数组来匹配变量值? 这是两个数组的响应,一个是字段键,另一个是数据数组。
"fields":[
"date",
"energy",
"impact-e",
"lat",
"lat-dir",
"lon",
"lon-dir",
"alt",
"vel"
],
"data":[
[
"2018-12-18 23:48:20",
"3133",
"49",
"56.9",
"N",
"172.4",
"E",
"26.0",
"13.6"
],
[
"2020-12-22 23:23:33",
"489.8",
"9.5",
"31.9",
"N",
"96.2",
"E",
"35.5",
"13.6"
],
....many more
]
我试图用来匹配数据的条件是:
if (
response[i][4] === latDir &&
response[i][6] === longDir &&
Number(response[i][3]) >= latMinVal &&
Number(response[i][3]) <= latMaxVal &&
Number(response[i][5]) >= longMinVal &&
Number(response[i][5]) <= longMaxVal
) {
// DO SOMETHING
}
有没有办法减少对数据数组索引的依赖,使其对字段数组可靠?
【问题讨论】:
-
因为你的数据数组只有值没有键,你必须使用索引。更好的方法是修改 api(如果它是你的)以发送键和值。那么您可以以更有效的方式映射数据。
-
所以去查找
lat-dir在您的fields数组中的索引位置 - 然后您就知道使用什么索引来访问数据数组中的相应项目。其他字段也一样。
标签: javascript arrays key-pair