angular - for 循环内的 for 循环给出奇怪的结果
问题描述
我有一个程序,其中我在 for 循环中有一个 for 循环。我在最后一个 array.push 中得到的结果是 Albumtitle 始终是第一个 for 循环的最后一个结果。当我循环进入 chrome 控制台时,我看到第一个 for 循环在我看到它进入第二个 for 循环之前提供了例如 3 个结果。我是在错误地使用 for 循环还是代码中存在问题?
selected_artist(id){
this.musicservice.get_artist_albums(id).subscribe(payload => {
this.tracks_to_play=[];
this.albums=[]=payload.MediaContainer.Metadata;
this.test=[];
for (this.i_albums=0; this.i_albums<this.albums.length; ++this.i_albums) {
this.albumtitle=this.albums[this.i_albums].title;
this.musicservice.get_artist_albums(this.albums[this.i_albums].key).subscribe(tracks_data => {
this.tracks=tracks_data.MediaContainer.Metadata;
this.art=tracks_data.MediaContainer.thumb;
for (this.i_tracks=0; this.i_tracks<this.tracks.length; ++this.i_tracks) {
this.tracks_to_play.push({Key: this.tracks[this.i_tracks].Media[0].Part[0].file, Title: this.tracks[this.i_tracks].title, Duration: this.tracks[this.i_tracks].Media[0].Part[0].duration});
}
this.test.push({AlbumTitle : this.albumtitle, Tracks: this.tracks_to_play })
this.tracks_to_play=[];
console.log(this.test);
this.album_selected=true;
this.album_selected=true;
});
}
});
}
解决方案
推荐阅读
- python - 如何绘制 Pandas Dataframe 中每一列的空值计数
- java - 应用程序因 StackOverflow 错误而崩溃
- c# - Azure 存储帐户使用托管标识和 C# 进行身份验证
- javascript - React Native Deep Link 传递未定义的参数
- npm - 当包 json 中有私有存储库时,Github 操作显示错误
- sql - 如何在 Oracle 中与 Group By 和 Order By 一起使用?
- r - 在 R shiny 中,为什么我在对 renderUI 进行简单的适配后会收到错误消息?
- matlab - 实时运行 Simulink exe
- c# - WPF 无法正确显示图像
- angular - 如何从`fromEvent`方法获取最后一个事件