- Reactive Programming with Swift 4
- Navdeep Singh
- 169字
- 2021-06-24 18:57:58
Grouping initializer
Grouping initializer is the new addition to the Dictionary that converts a sequence into a Dictionary of sequences grouped as per your ambition. Continuing our people example, we can use people.keys to get back an array of people names and then group them by their first letter, like this:
let groupedPeople = Dictionary(grouping: people.keys) { $0.prefix(1) }
print(groupedPeople)
This will output the following:
["T": ["Tom"], "A": ["Alex"], "R": ["Rex", “Ravi”]]
Here, T, A, and R are initializers to the distinct names. For instance, consider that you had one more name in the Dictionary, say "Adam" aged 55:
["Tom": 24, "Alex": 23, "Rex": 21, "Ravi": 43, "Adam": 55]
In this case, the groupedPeople array might look something like this:
["T": ["Tom"], "A": ["Alex", "Adam"], "R": ["Rex", “Ravi”]]
Alternatively, we can group people based on the length of their names, as shown:
let groupedPeople = Dictionary(grouping: people.keys) { $0.count }
print(groupedPeople)
This will output the following:
[3: ["Tom","Rex"], 4: ["Alex", "Ravi","Adam"]]
推薦閱讀
- Vue.js 3.x快速入門
- Deploying Node.js
- SoapUI Cookbook
- Visual C++實例精通
- Java FX應(yīng)用開發(fā)教程
- PostgreSQL技術(shù)內(nèi)幕:事務(wù)處理深度探索
- C語言程序設(shè)計教程(第2版)
- 編寫整潔的Python代碼(第2版)
- 游戲程序設(shè)計教程
- Unity 2018 Shaders and Effects Cookbook
- Laravel Application Development Blueprints
- Troubleshooting Citrix XenApp?
- 區(qū)塊鏈架構(gòu)之美:從比特幣、以太坊、超級賬本看區(qū)塊鏈架構(gòu)設(shè)計
- Maven for Eclipse
- JavaEE架構(gòu)與程序設(shè)計