使用Pipe获取Angular中字符串的第一个单词?

ano*_*nym 0 angular-pipe angular

我正在尝试编写一个first word在字符串中打印的管道。以下是我的错误代码,该代码不希望地显示first letter字符串。

例如。

PIPE

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
  name: 'firstWord'
})
export class GetFirstWord implements PipeTransform
{
    transform(value: string, args: any[]): string | boolean
    {
        if (value === null) {return false;}
        const firstWords = [];
        for (let i = 0; i < value.length; i++)
        {
          const words = value[i].split(' ');
          firstWords.push(words[0]);
        }
        return firstWords[0];
    }
}
Run Code Online (Sandbox Code Playgroud)

COMPONENT

userName: string = 'Chuck Norris';
Run Code Online (Sandbox Code Playgroud)

TEMPLATE

{{ userName | firstWord }}
Run Code Online (Sandbox Code Playgroud)

OUTPUT

C

DESIRED OUTPUT

卡盘

Yur*_*nko 8

您不需要循环

transform(value: string, args: any[]): string {
  if (!value) { return ''; }
  return value.split(' ')[0];
}
Run Code Online (Sandbox Code Playgroud)