Javascript 如何修复在帖子中获取用户?

Javascript 如何修复在帖子中获取用户?,javascript,angular,Javascript,Angular,我正在写一个学习英语的项目。我的项目显示帖子。我想在表中输出用户。我必须在模板中使用方法(例如getUser(id))。但它的工作原理很奇怪(用户名显示为“Bret。如何解决这个问题 所有项目 posts.component.ts: getUsername(id: any) { return this.users.map((us: any) => { return us.id == id ? us.username : ""; }); }

我正在写一个学习英语的项目。我的项目显示帖子。我想在表中输出用户。我必须在模板中使用方法(例如getUser(id))。但它的工作原理很奇怪(用户名显示为“Bret。如何解决这个问题

所有项目

posts.component.ts:

getUsername(id: any) {
    return this.users.map((us: any) => {
      return us.id == id ? us.username : "";
    });
  }
posts.component.html:

<table>
  <colgroup>
    <col style="width: 10%;" />
    <col style="width: 15%;" />
    <col style="width: 75%;" />
  </colgroup>
  <thead>
    <tr>
      <th *ngFor="let column of columns">{{ column.title }}</th>
    </tr>
    <tr [formGroup]="form">
      <th *ngFor="let column of columns">
        <ng-container *ngIf="column.filterKey">
          <input type="text" [formControlName]="column.filterKey" />
        </ng-container>
      </th>
    </tr>
  </thead>
  <tbody>
    <tr *ngFor="let item of posts">
            <td>{{ item.userId }}</td>
            <td>
                {{ getUsername(item.userId) }}
            </td>
            <td>
                <a [routerLink]="['/posts', item.id]">{{ item.title | titlecase }}</a>
            </td>
        </tr>
  </tbody>
</table>

{{column.title}}
{{item.userId}
{{getUsername(item.userId)}
{{item.title | titlecase}}

这是因为您的
getUsername
函数返回
[“Bret”、“”、“”、“”、“”和“Antonette”、“”、“”]
。您只需找到要查找的用户,并返回其姓名:

getUsername(id: any) {
    return this.users
        .find((us: any) => us.id == id)
        .username;
}

这是因为您的
getUsername
函数返回
[“Bret”、“”、“”、“”、“”、“”和“Antonette”、“”、“”]
。您只需找到要查找的用户,并返回其姓名:

getUsername(id: any) {
    return this.users
        .find((us: any) => us.id == id)
        .username;
}
map()方法创建一个新数组,其中填充了对调用数组中的每个元素调用所提供函数的结果。对于不匹配的用户,它将插入一个空字符串

如果可以通过未知id请求用户,但找不到匹配的用户,请使用此示例

getUsername(id: any) {
    return this.users
        .find((us: any) => us.id === id)?.username || '';
     
}
否则

getUsername(id: any) {
    return this.users
        .find((us: any) => us.id === id)
        .username;
}
map()方法创建一个新数组,其中填充了对调用数组中的每个元素调用所提供函数的结果。对于不匹配的用户,它将插入一个空字符串

如果可以通过未知id请求用户,但找不到匹配的用户,请使用此示例

getUsername(id: any) {
    return this.users
        .find((us: any) => us.id === id)?.username || '';
     
}
否则

getUsername(id: any) {
    return this.users
        .find((us: any) => us.id === id)
        .username;
}