variants: [{"vType":"red"},{"vType":"red"},{"vType":"black"}]
我需要使用过滤器来获得独特的颜色,因为只有“红色和黑色”使用
<select class="form-control" [(ngModel)]="selectedVariant" (ngModelChange)="changeVariant(selectedVariant)" >
<option *ngFor="let c of selection">{{c.vType}}</option>
</select>
如何创建自定义过滤器以过滤唯一颜色。
答案 0 :(得分:1)
如果您想构建自定义过滤器,可以查看docs / tuto here
要获得您的独特收藏,您可以使用lodash _.uniqBy function或使用reduce(from this StackOverflow post)
进行自定义实施variants = [{"vType":"red"},{"vType":"red"},{"vType":"black"}];
uniqueVariants = variants.reduce(function(accumulatedVariants, variant) {
if (!accumulatedVariants.find(v => v.vType === variant.vType)) {
accumulatedVariants.push(c);
}
return accumulatedVariants;
}, []);