Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save milanpanchal/73187555c9ce5d0cc420b8d973b20603 to your computer and use it in GitHub Desktop.
Save milanpanchal/73187555c9ce5d0cc420b8d973b20603 to your computer and use it in GitHub Desktop.
To group an array by countryName in swift
// https://medium.com/@milanpanchal24/how-to-group-array-using-dictionary-in-swift-6d185c8c79c
let employee = [["countryName":"India", "name":"Milan", "age":"30"],
["countryName":"India", "name":"Emma", "age":"25"],
["countryName":"NZ", "name":"Olivia", "age":"40"],
["countryName":"NZ", "name":"Sophia", "age":"22"],
["countryName":"Canada", "name":"David", "age":"33"],
["countryName":"Canada", "name":"Wyatt", "age":"21"],
["countryName":"Portugal", "name":"Joseph", "age":"28"]]
let groupedByCountryName = Dictionary(grouping: employee) { $0["countryName"]! }
print(groupedByCountryName)
/*
Output:
["India": [["age": "30", "countryName": "India", "name": "Milan"],
["age": "25", "name": "Emma", "countryName": "India"]],
"NZ": [["countryName": "NZ", "age": "40", "name": "Olivia"],
["countryName": "NZ", "name": "Sophia", "age": "22"]],
"Portugal": [["name": "Joseph", "age": "28", "countryName": "Portugal"]],
"Canada": [["name": "David", "countryName": "Canada", "age": "33"],
["age": "21", "countryName": "Canada", "name": "Wyatt"]]]
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment