2017-05-28 4 views
0

first wordを文字列に出力するパイプを作成しようとしています。以下は、間違って文字列のfirst letterを印刷する誤ったコードです。パイプを使用して文字列の最初の単語をAngularで取得しますか?

たとえば、

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]; 
    } 
} 

COMPONENT

userName: string = 'Chuck Norris'; 

TEMPLATE

{{ userName | firstWord }} 

OUTPUT

C

DESIRED OUTPUT

チャック

答えて

3

あなたはループを必要としない

transform(value: string, args: any[]): string | boolean 
    { 
     if (value === null) {return false;} 
     return value.split(' ')[0]; 
    } 
+0

私はこのように簡単な何かを見逃している可能性がまさか。どうもありがとう。 – anonym

+0

@Yury。あなたは落ち込んだ。あなたが2点を失ったので、私はそれを見ることができます。 !!ダウン投票の具体的な理由は何ですか? – Aravind

+1

@Aravind私はSherlockをしなかった:)もし私が私だったら、1点のLOLを失っただろう。そして、私はいつもdownvote(私の個人的なルール)とコメントします。誰も私の答えをdownvoted –

1

あなたは、あなたのためのループは、文字列の文字の上に行くためだこのよう

transform(input:string):string{ 

    return input.split(' ')[0]; 
    } 

LIVE DEMO

+0

これは間違いありません!ありがとう、Aravind。 – anonym

+0

@ downvotersコメントすることを敢えて。 – Aravind

+0

@anonymあなたを助けてくれる。 – Aravind

4

を使用することができます。代わりに入力全体を分割し、最初のオカレンスを取得する必要があります。

@Pipe({ 
    name: 'firstWord' 
}) 
export class GetFirstWord implements PipeTransform 
{ 
    transform(value: string, args: any[]): string | boolean 
    { 
     if (value == null) { 
      return value; 
     } 
     const words = value.split(' '); 
     return words.length > 0 ? words[0] : value; 
    } 
} 
+0

ありがとう、それは正しい解決策です。 – anonym

+0

私はあなたを助けてうれしいです。 :)ところで、パイプでしか文字列を返さないことをお勧めします。さもなければ、コードをデバッグしたいときに面白いことを見ることができます。 ;) –

+0

ありがとうございます。私はそれを覚えています。 – anonym

0
transform(value: string): string | boolean { 
    if (value) { 
     return value.split(' ')[0]; 
    } 
    return false; 
    } 
関連する問題