2017-02-09 5 views
0

"bonusCardsArray"の "BonusCard"の複数の配列を "currentPoints"値に基づいてソート(降順、昇順)する方法を教えてください。所定の位置に並べ替えるにSwift 3 sort jsonArray

//Array to sort according to "currentPoints" 
var bonusCardsArray = [BonusCard]() 

//basis class 
class BonusCard { 

    var companyName    : String 
    var bonusCardDescription : String 
    var currentPoints   : Int 
    var bonusCardType   : Int 


    init(companyName: String, bonusCardDescription: String,  
    currentPoints: Int, bonusCardType: Int) { 

     self.companyName = companyName 
     self.bonusCardDescription = bonusCardDescription 
     self.currentPoints = currentPoints 
     self.bonusCardType = bonusCardType 
    } 
} 

答えて

1

sort(by:) method

bonusCardsArray.sort { $0.currentPoints < $1.currentPoints } 

を利用したり、新しい配列を作成する(currentPointsプロパティにw.r.t.昇順)。元1のソートされたバージョンは、次のコードを記述する必要がありsorted(by:) method

let sortedfBonusCardsArray = bonusCardsArray 
    .sorted { $0.currentPoints < $1.currentPoints } 
0

を利用します。

bonusCardsArray.sorted下降用

  • ({$ 0。currentPoints> $ 1 currentPoints})

    bonusCardsArray.sorted({$ 0昇順ため

  • 。currentPoints < $ 1 currentPoints })

+0

ありがとう、仲間。 1ライナーがそんなに多くをすることができると想像できませんでした:-) – Jim