如何按升序顺序对数组进行排序2.3

Jec*_*cky 8 arrays sorting iphone ios swift

[{
msg = "Hi This is Jecky";
name = Susheel;
sender = 77;
timestamp = 1464241769520;
username = susheel;
}, {
msg = Dubai;
name = Jecky;
sender = 78;
timestamp = 1464246547147;
username = Jecky;
}, {
msg = "How are you ?";
name = Susheel;
sender = 77;
timestamp = 1464243480381;
username = susheel;
}, {
msg = "Aje dekhai nai";
name = Jecky;
sender = 78;
timestamp = 1464244974198;
username = Jecky;
}]
Run Code Online (Sandbox Code Playgroud)
  • 我有这样的数组.我想在swift 2.3或最新版本的swift中使用时间戳对这个数组进行排序.任何人都可以帮助我吗?

fnc*_*c12 9

let array=[
        [
            "msg":"Hi This is Jecky",
            "name":"Susheel",
            "sender":77,
            "timestamp":1464241769520,
            "username":"susheel",
        ],
        [
            "msg":"Dubai",
            "name":"Jecky",
            "sender":78,
            "timestamp":1464246547147,
            "username":"Jecky",
        ],
        [
            "msg":"How are you ?",
            "name":"Susheel",
            "sender":77,
            "timestamp":1464243480381,
            "username":"susheel",
        ],
        [
            "msg":"Aje dekhai nai",
            "name":"Jecky",
            "sender":78,
            "timestamp":1464244974198,
            "username":"Jecky",
        ],
    ]
    print("array = \(array)")
    let sortedArray=array.sort { (obj1, obj2) -> Bool in
        return (obj1["timestamp"] as! Double) < (obj2["timestamp"] as! Double)
    }
    print("sortedArray = \(sortedArray)")
Run Code Online (Sandbox Code Playgroud)


T. *_*sen 6

如果您的阵列是可变的,您可以使用 sortInPlace

yourArray.sortInPlace{$0.timestamp < $1.timestamp}
Run Code Online (Sandbox Code Playgroud)

如果没有,您可以从排序中创建一个新数组,如Kristijan所建议的那样(尽管在尾随闭包时不需要括号):

let newArray = yourArray.sort{$0.timestamp < $1.timestamp}
Run Code Online (Sandbox Code Playgroud)