javascript - 使用带有条件的 ngFor 逗号分隔字符串?
问题描述
我想从数组中生成逗号分隔的字符串。
这是我的数据:
responseData= [{ name: 'Some Data 1', type:'action' },
{ name: 'Some Data 2', type:'action' },
{ name: 'Data 3', type:'NA' },
{ name: 'Data 4', type:'action' },
{ name: 'Data 5', type:'NA' }];
这就是我循环的方式。我只想遍历action
type。
<div *ngFor="let data of responseData; let last=last">
<div *ngIf="data.type=='action'">
{{ data.name}} {{last?'':', '}}
</div>
</div>
但最后我留下了另一个逗号。我该如何删除它?
任何帮助将非常感激。谢谢!
解决方案
last 没有被应用的原因是最后一个元素不是“action”类型。
作为修复,您可以创建一个自定义函数来首先过滤初始数据并应用相同的逻辑,
<div *ngFor="let data of filterFunction(responsedata); last as isLast">
<div >
{{ data.name}} {{isLast?'':', '}}
</div>
</div>
推荐阅读
- sql - Scala如何提取URL中的子字符串并为其创建一个新列?
- kubernetes - Kubernetes 的容器 CPU 请求值
- javascript - 如何对特殊的 JSON Discod.JS 进行排序
- firebase-hosting - Cloud Run + Firebase 托管区域重写问题
- javascript - Lighthouse 返回错误:内部:扩展结果为空
- asp.net - 图像未按预期加载 ASP.NET MVC
- woocommerce - Woocommerce - 即使某些变体有库存,可变产品也会显示已售罄
- python-2.7 - Tkinter 没有 $DISPLAY 或显示名称(Berkley pacman 项目)
- r - 使用 openxlsx 按单元格填充颜色过滤 Excel 中突出显示的数据
- spring-boot - Springboot 从 Controller 方法名评估 api 路径