You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Angular的*ngFor数组结果间添加空格?

解决Angular中*ngFor遍历嵌套数组并添加分隔符的问题

嘿,这个场景我太熟悉了!你遇到的问题是因为occupants本身就是一个数组,直接插值输出会默认调用数组的toString()方法,而这个方法是用逗号直接拼接元素的,所以才会挤在一起。给你两种实用的解决办法:

方法一:嵌套*ngFor(适合需要单独控制每个元素的场景)

如果之后你需要给每个人员名字加样式或者做其他处理,嵌套遍历是更灵活的选择:

<ul class="address">
  <li *ngFor="let address of census">
    <!-- 遍历每个地址下的occupants数组,同时判断是否为最后一个元素 -->
    <span *ngFor="let person of address.occupants; let isLast = last">
      {{ person }}
      <!-- 不是最后一个元素就加空格 -->
      <span *ngIf="!isLast"> </span>
    </span>
  </li>
</ul>

这里用Angular的last局部变量来判断当前元素是不是数组的最后一项,避免在末尾多出来一个多余的空格。

方法二:使用数组的join()方法(最简洁的方案)

如果不需要对每个人员名字做额外处理,直接用数组原生的join()方法就可以一步到位,指定你想要的分隔符(空格、逗号加空格都可以):

<ul class="address">
  <li *ngFor="let address of census">
    {{ address.occupants.join(' ') }}
  </li>
</ul>

要是你想要的是「John Smith, John Doe, John Brown」这种逗号加空格的格式,只需要把join(' ')改成join(', ')就行,非常灵活!

内容的提问来源于stack exchange,提问作者Rin and Len

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:38:08