ios - 从 Swift 中的字典中获取特定键的所有值

标签 ios arrays swift dictionary

我有一个这样的字典数组。

let arr = [["EmpName"   :   "Alex",     "Designation"   :   "Jr. Developer"],
           ["EmpName"   :   "Bob",     "Designation"   :   "Sr. Developer"],
           ["EmpName"   :   "Claire",  "Designation"   :   "Jr. Developer"],
           ["EmpName"   :   "David",   "Designation"   :   "Project Manager"]]

现在我只想从中获取 EmpName 对象。我如何 swift 做到这一点?我基本上想要一个具有以下值的数组。

["Alex", "Bob", "Claire", "David"]

这就是我现在所做的。但我想知道我是否可以通过使用 filtermap...

var employees = [String]()
    for empRecord in arr {
        employees.append(empRecord["EmpName"]!)
    }

最佳答案

一个简单的方法是使用flatMap:

let employees = arr.flatMap { $0["EmpName"] }

结果:

["Alex", "Bob", "Claire", "David"]

Swift 中的

flatMap 类似于 map 但它还可以安全地解包可选值,这是我们在这里需要的,因为 Swift 字典总是返回可选值。

关于ios - 从 Swift 中的字典中获取特定键的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35093067/

相关文章:

iOS 开发测试要求

ios - 有没有办法生成更详细的图像?

ios - 使用 Array.filter 而不是对象获取索引列表

ios - 如何正确禁用 UIWebView 中的链接检测?

iOS:Google Maps API - 禁用信息窗口点击事件

iphone - 如何按距离升序对 NSmutablearray 进行排序?

php - 需要在一个 JSON 中合并多行

javascript - Vue 方法上的对象数组

ios - Swiftui 动态动画面板从下到上

iOS VoIP 推送通知在 1-2 秒后自动停止