在我的 Angular 应用程序中,我将对象推送到这样的数组:
castPictures: any = []
this.castPictures.push({ actor: actor, url: actPics})
我的问题是我无法通过它的索引访问任何项目:
console.log(this.castPictures[0])
返回 undefined
这样做的正确方法是什么?
这是我尝试重新创建代码的 TsPlayground:
而且工作正常。
这是我的代码:
export class ActorQuestionComponent implements OnInit {
@Input() quizedMovie;
constructor(private searchActor: SearchActor) {}
castPictures: any = []
actors: any = []
ngOnInit(){
this.actors = this.quizedMovie.cast.slice(0,5)
for (let i = 0; i < this.actors.length; i++) {
this.getActor(this.actors[i].actor)
}
this.getActorUrl()
}
getActor(actor: string) { this.searchActor.getActorImage(actor)
.subscribe((r:any) => { let actPics = []
for (var val of r.value) {
actPics.push(val.thumbnailUrl)}
this.castPictures.push({ actor: actor, url: actPics})
})
}
getActorUrl() { for (let i = 0; i < this.actors.length; i++) {
const result = this.castPictures.find( ({ actor }) => actor === this.actors[i].actor );
console.log(result)
}
}
}