复杂的字典(关联数组)调用过滤器我有此数组:在迅速
class Filter {
var key = ""
var value = ""
init(key: String, value: String) {
self.key = key
self.value = value
}
}
let arry = [
"a":[Filter(key:"city",value:"aachen"),Filter(key:"city",value:"augsburg")],
"b":[Filter(key:"city",value:"bremen"),Filter(key:"city",value:"berlin")]
]
,我想寻找奥格斯堡等输出看起来像这样从具有过滤功能的词典中删除:
let arry = [
"a":[Filter(key:"city",value:"aachen")],
"b":[Filter(key:"city",value:"bremen"),Filter(key:"city",value:"berlin")]
]
我与许多过滤器和地图constelations尝试过,但我总是得到这样的结构,结果是:
let arry = [
["a":[Filter(key:"city",value:"aachen")]],
["b":[Filter(key:"city",value:"bremen"),Filter(key:"city",value:"berlin")]]
]
例如使用此筛选器:
arry.map({ key,values in
return [key:values.filter{$0.value != "augsburg"}]
})
这里有什么问题?我如何过滤和映射更复杂的对象?
首先,你的数组是字典,你为什么要这么做复杂,你不觉得,而不是使用属性键和值做类Filter,你需要使用第一个字符包含第一个字符后面的城市和第二个字符串数组,包含该对象的所有城市名称。 –
相关:http://stackoverflow.com/questions/24116271/whats-the-cleanest-way-of-applying-map-to-a-dictionary-in-swift。 –