【发布时间】:2018-07-20 22:36:58
【问题描述】:
好的,所以我正在尝试制作一个 ArtistPage,我需要将该艺术家的所有专辑放在页面上。我在每张专辑中都放置了一个名为 artistName 的属性,以作为一种引用它的方式,但如果这是正确的做法,我不知道。
这是我在代码中的一个名为 getAlbums 的变量的结果,它返回一个对象数组,这些对象是“数据库”中的所有专辑 - ->
[
{name: "The Cool", genre: "Hip-Hop", artistName: "Lupe Fiasco", year: "2006", isExplicit: "true", …}
{name: "Food & Liquor", artistName: "Lupe Fiasco", genre: "Hip-Hop", year: "2006", isExplicit: "true", …}
{name: "Flume", artistName: "Flume", genre: "Electronic", year: "2012", isExplicit: "true", …}
{name: "Skin", artistName: "Flume", isExplicit: "true", genre: "Electronic", year: "2016", …}
{name: "Hybrid Theory", artistName: "Linkin Park", isExplicit: "true", genre: "Nu-Metal", year: "2000", …}
{name: "Views", artistName: "Drake", genre: "Hip-Hop", year: "2016", isExplicit: "true", …}
{name: "2014 Forest Hills Drive", artistName: "J.Cole", isExplicit: "true", genre: "Hip-Hop", year: "2014", …}
{name: "Marshal Matthers LP", artistName: "Eminem", isExplicit: "true", genre: "Hip-Hop", year: "2000", …}
]
我正在使用一个函数来尝试循环所有属性,但它是错误的啊。 它只返回一张专辑
getAlbumsByArtist(artistName: any) {
for (var i = 0; i <= this.getAlbums.length - 1; i++) {
if (this.getAlbums[i].artistName === this.artistName) {
return this.getAlbums[i];
}
}
}
所以如果我想在这个数组中检索所有具有属性“artistName: Flume”的对象,我该怎么做呢?
【问题讨论】:
-
你好像在用打字稿,对吗?
-
是的。特别是 Angular 4。
标签: arrays loops typescript object filter