我有一个 [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/