swift - 根据以特定字符结尾的哈希键选择存储的值

标签 swift hash swift2

我有一个 [String: [String: AnyObject]]() 类型的散列,如下所示,

{ 
  "asndfkjsndkjnf_1": {"A": "2"}, 
  "jckxjbcvkjbsdsdfkz_2": {"G": 3},
  "sahgkshbgskdssjf_3": {"T": '1'},
  "asdhlsfldsnfsldk_4": {"C": 4}
}

我想选择键以 "_1" 结尾的哈希条目的值,因为哈希没有索引我发现在不知道完整的情况下检索我想要的项目有点困难键。

最佳答案

Dictionary 有一个 keys 属性,可以让你(懒惰地)评估字典的所有键,所以你可以使用:

let foo = [
    "asndfkjsndkjnf_1": ["A": "2"],
    "jckxjbcvkjbsdsdfkz_2": ["G": 3],
    "sahgkshbgskdssjf_3": ["T": "1"],
    "asdhlsfldsnfsldk_4": ["C": 4]
]

if let match = foo.keys.filter({ (key) -> Bool in key.hasSuffix("_1") }).first {
    // foo[match] will be the first matched dictionary
    print("\(foo[match])")
}

另一种可能性是只过滤整个字典以匹配键:

foo.filter({ $0.0.hasSuffix("_1") }).first?.1

关于swift - 根据以特定字符结尾的哈希键选择存储的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38640660/

相关文章:

ios - 用于 swift ios 的具有线程安全性的循环缓冲区

swift - 编辑模板身份验证 Firebase

ios - 在设备上构建和运行时,仅将嵌入式框架与其他动态框架链接失败

hash - CouchDB 文档 ID 是如何计算的?

python - 改变字典的哈希函数

ios - 如何在 Swift 3 中将数据转换为 Int?

swift - 我应该为此选项添加什么标识符?

objective-c - 如何将 UIImage 从 iPhone 应用程序传递到 Apple Watch 应用程序

ios - glGenVertexArraysOES() 的作用是什么?文档在哪里?

javascript - CryptoJS PBKDF2 和盐哈希方法不起作用