In Swift, I am trying to flatten an array of dictionaries into one dictionary i.e
let arrayOfDictionaries = [["key1": "value1"], ["key2": "value2"], ["key3": "value3", "key4": "value4"]]
//the end result will be:
flattenedArray = ["key1": "value1", "key2": "value2", "key3": "value3", "key4": "value4"]
I have tried using flatmap, but the type of the returned result is [(String, AnyObject)]
and not [String, Object]
ie
let flattenedArray = arrayOfDictionaries.flatMap { $0 }
// type is [(String, AnyObject)]
So I have 2 questions:
Why is type [(String, AnyObject)] returned? And what do the brackets mean?
How do I achieve the desired result?
Edit: I would prefer to use a functional approach with Swift's map/flatmap/reduce etc. instead of a for-loop