我正在学习javascript,尝试一些东西,但目前有一个问题。
本质上-API端点返回索引元素,并且在索引中,每个索引元素中的数据都具有相同的结构。
例如,它看起来像这样:
0-1000
当我把它展开时,它们是这样的:0:参数_1:1参数_2:2 1:参数_1:3参数_2:4 2:参数_1:5参数_2:6......依此类推。Data structure
问题是--当我运行下面的代码时,我可以向控制台输出顶级数组,该数组返回名为0、1、2、3等的数组。或者,我也可以给予一个数组元素,然后说console.log(array[45])。
但是我想做的是执行foreach,删除顶层索引,如果这有意义的话,并且只从每个子数组元素返回相同的参数。例如,只将每个param_1返回到一个新数组或控制台日志中。
我的问题是,我尝试了很多方法,但我对所有复杂性的理解还不够,无法使其正常工作。我尝试了.map或for-each,但我认为存在无法实现承诺等问题。我也不想在整个API获取过程中执行for-each,它将返回原始数组。
下面的代码是我正在使用的,什么是有效的,我将在下面添加伪代码来说明我的意图。
正在工作:
`
export const getWeatherData = (location) => {
fetch(url, opts)
.then(function (response) {
document.querySelector(".loading").textContent = "";
return response.json();
})
.then(function (response) {
return response;
})
.then(function (response) {
const weatherData = {
name: response.data.blah
};
console.log(weatherData.name);
return weatherData;
})
.then(function (weatherData) {
displayWeatherData(weatherData);
})
.catch(function (err) {
err = displayError();
});
};
`
伪代码:
export const getWeatherData = (location) => {
fetch(url, opts)
.then(function (response) {
document.querySelector(".loading").textContent = "";
return response.json();
})
.then(function (response) {
return response;
})
.then(function (response) {
for each (item in response){
add item.data.blah.param_1 to newarray.
}
const weatherData = newarray
console.log(weatherData);
return weatherData;
})
.then(function (weatherData) {
displayWeatherData(weatherData);
})
.catch(function (err) {
err = displayError();
});
};
我希望这是有意义的,任何问题等,或如果你需要澄清,我会尽快回复。
1条答案
按热度按时间oxiaedzo1#
这应该可以解决你的问题。如果有子数组你可以像这样使用forEach