1
は、私は以下のようなコードを持っている:Angular2 .filter配列
ngOnInit() {
this.tenantPackagesService.getTenantPackages().takeUntil(this.destroyed).subscribe();
this.tenantPackagesService.tenantPackagesObs.filter(packages => !!packages).takeUntil(this.destroyed).subscribe(packages => {
this.selectedPackage;
let flags = {};
this.packages = packages
.filter(function (entry) {
if (flags[entry.id]) {
return false;
}
flags[entry.id] = true;
return true;
})
.map(o => { return { label: `${o.id}`, value: o } });
// Versions of package
this.versions = packages
// Here I need filter
.map(o => { return { label: `${o.version}`, value: o } });
})
}
パッケージとオブジェクトの配列があります。それぞれのパッケージにはバージョンがあります。同じ名前だがバージョンが違うパッケージがたくさんある。私は一意の名前でパッケージをフィルタリングしましたが、今は選択されたバージョンのパッケージ(this.selectedPackage)の異なるマップを作成する必要があります。 したがって、package1を選択すると、そのパッケージに関連付けられたバージョンのみを取得する必要があります。 .filterメソッドでこれを行う方法?出来ますか?
:.filter使用方法の
詳細を'lodash'と' groupBy'関数です。 –