2016-03-25 18 views
1

Teklifleri alan ve en yüksek değeri ayarlamak isteyen bir bileşenim var.React kullanarak en yüksek fiyata nasıl sipariş verilir?

var Offerslist = React.createClass({ 
    _renderOffers: function(key) { 
    var details = this.props[key]; 

    // TODO: set order of highest offer descending 

    return (
     <li key={key} className="offer-of-item"> 
     &euro; {details.price} 
     <a className="remove-offer" onClick={this._removeOffer}>X</a> 
     </li> 
    ) 
    }, 
    render : function() { 
    return (
     <ol className="list-of-offers-per-item"> 
     {Object.keys(this.props).map(this._renderOffers)} 
     </ol> 
    ) 
    } 
}); 

nesneler içeren bir dizi doldurma düşüncelerini fiyat .sort kullanmak ve daha sonra {değeri:: 'foo123': 123, OFFERID} Bu kodudur. Ancak, bir kerede tüm nesnelerle asla yinelenmediği için böyle bir dizi oluşturamıyorum. Bunu yapmak için belki bazı yerleşik Tepki yolu var mı?

veriler: data

cevap

1

bir sıradan dizisi için, sort yöntemini kullanmayı tercih ediyorum. senin offers bir nesne değil, bir dizi olduğu için Ama, böyle offers nesnede fiyatını yukarı bakarak keys sıralayabilirsiniz:

Object.keys(this.props) 
    .sort((a, b) => (this.props[a].price - this.props[b].price)) 
    .map(this._renderOffers) 
+0

ah ben yanlış yerlerde arıyordu! Teşekkürler! – flowen

İlgili konular