2017-01-10 16 views
0

にのみ特定の要素にルールを適用するには、このループは反応:は、私が持っているどのように配列

<div> 
    {this.state.dealersDeck.map(function(card, index){ 
     return <div className="cardFormatDH" key={ index }> {card.rankKey}{card.suit} </div>; 
    }, this)} 
</div> 

これは、オブジェクトの配列を通過し、画面上にレンダリングします。私はそれをフォーマットしたいので除いて、これはすべていいです、私は特定のポイントで内容を表示するだけです。すなわち、私はブラックジャックを作成しており、ディーラーのセカンドカードが最後まで見えないようにしたい。

mapには、私が使うことができる何らかの種類の属性があるかどうか疑問に思っていたかもしれません。

答えて

0

あなたにもマップ関数内であれば、基本的な... else文を使用することができます。さらに、より多くの機能を追加するために、より多くのビジネスロジックを記述することもできます。

var cardsHTML = this.state.dealersDeck.map(function(card, index){ 

    if(condition...1){ 
     return <div className="cardFormatDH" key={ index }> {card.rankKey}{card.suit} </div> 
    } 

    if(condition...2){ 
     return <div></div> 
    } 
} 
+0

毎回: 'IF(this.state.dealersDeck [1]){ リターン

{'-'}{'-'}
。 } else { return
{card.rankKey}{card.suit}
; } ' ですが、すべてのカードを新しいスタイル –

+0

に変更して解決しました。歓声 –

+0

@Theworm恐ろしい!!! – Abhinav

1

あなたは、各カードにブール小道具を追加し、それに基づいて描画することができます:

<div> 
    {this.state.dealersDeck.map(function(card, index){ 
     return { card.display && 
      <div className="cardFormatDH" key={ index }>{card.rankKey} {card.suit} </div> 
     } 
    }, this)} 
</div> 
+0

が、私はそれは異なるであろうようになるカードを知っている習慣、私はこれを試み –

関連する問題