var arr:Array<Dictionary<String, String>> = [["title":"Mrs","name":"Abc"],["title":"Mr","name":"XYZ"]]
arr.sort { (<#[String : String]#>, <#[String : String]#>) -> Bool in
<#code#>
}
私は上記のデータ形式の辞書の配列を持っています。この配列をという名前でというキーで並べ替える必要があります。私は古いスイフトでそれをやった:スウィフトで並べ替え3.0
arr.sort{$0.name < $1.name}
これはもう働かない。この構造を前に進んで並べ替える方法を教えてください。
ありがとうございました。
var arr:Array<Dictionary<String, String>> = [["title":"Mr","name":"XYZ"], ["title":"Mrs","name":"Abc"]]
print(arr) // [["name": "XYZ", "title": "Mr"], ["name": "Abc", "title": "Mrs"]]
arr.sort {
($0["name"])! < ($1["name"])!
}
print(arr) // [["name": "Abc", "title": "Mrs"], ["name": "XYZ", "title": "Mr"]]
はそれが助けたホープ:
は、私が「@MartinRが来ている!!」について考えているだけですか? :) –
*古いswift *でもドット表記は機能しません。 – vadian
私はそれが動作することができますが、同意することはできません。私は名前の値を捕まえるためにletを使用しますが、もしあなたが何か短い 'arr.sorted {$ 0 [" name "]! <$ 1 ["name"]! } ' – Dam