我的应用程序比较API数据,在我的例子中是温度。我已经为每个API编写了一个函数,如下所示:
async function prepData(n) {
const a = [];
if ((n == 0)) {
const json = await firstAPI();
for (var i = 0; i <= c; i++) {
a.push(json.shortIntervals[i].temperature.value);
}
console.log(a);
return a;
} else {
const json = await secondAPI();
for (var i = 0; i <= c; i++) {
a.push(
json.properties.timeseries[i].data.instant.details.air_temperature,
);
}
console.log(a);
return a;
}
}
这段代码工作成功,但它有很多重复的代码,因此我想改变它。
我已经成功地合并了获取函数,并通过传递“n”从数组中调用API url,“n”决定了我想访问哪个API。现在我面临的问题是我不能访问不同位置的数据。当前代码如下所示:
const dataLocation = ['json.first.api.path', 'json.seccond.api.path']
async function prepData(n) {
const a = [];
const json = await fetching(n);
for (var i = 0; i <= c; i++) {
a.push(dataLocation[n]);
}
console.log(a);
return a;
你可以看到,我现在已经把datalocation存储在一个数组中,但是我不能“执行”它,如果我把“dataLocation[n]”直接放在我把路径作为一个字符串添加到新的数组中,然后用引号把数组名推出来。
我如何告诉Javascript它应该在数组中定义的位置中查找?
另外:“c”是代码前面定义的一个数字,它定义了从API访问的数据量。
1条答案
按热度按时间dgiusagp1#
在prepData中,您将n值赋给0,而不是检查: