2016-01-28 176 views
-2

我有以下阵列:滤波器阵列 - SWIFT

[[user1ID: NSDate], [user2ID: NSDate], [user3ID: NSDate]] 

是否可以过滤掉,所以我只能取得user2ID字典?

+0

一点题外话:可以在阵列还包含多键字典?像'[[user1ID:NSDate],[user2ID:NSDate,user3ID:NSDate],[user3ID:NSDate]]'?如果没有,你可能要考虑使用一个简单的字典,如下所示:'[user1ID:NSDate,user2ID:NSDate,user3ID:NSDate]' – vrwim

回答

3
let test = [["user1ID": NSDate()], ["user2ID": NSDate()], ["user3ID": NSDate()]] 
let newArray = test.filter { $0.keys.contains("user2ID") }.flatMap { $0 } 

print(newArray) // ["user2ID": 2016-01-28 10:52:29 +0000] 

为了测试目的,我已经编辑了一下你的字典。

回答您的评论:

如果你只是想知道,如果数组包含“user2ID”一本字典的关键,你可以做到以下几点:

test.contains { $0.keys.contains("user2ID") } ? print("yep!") : print("nope!") // "Yep!" 
+0

你救了我!!!! – Luda

+0

亲爱的@Eendje,也许你也知道这个答案:我如何检查数组中有user2ID字典? – Luda

+0

更新了答案;) – Eendje