Ste*_*hen 3 arrays search dictionary ios swift
我有一个字典数组,我需要搜索并返回匹配的Dict
let foo = [
["selectedSegment":0, "severity":3, "dataDictKey": "critical"],
["selectedSegment":1, "severity":2, "dataDictKey": "major"],
["selectedSegment":2, "severity":1, "dataDictKey": "minor"],
]
Run Code Online (Sandbox Code Playgroud)
在foo,我怎样才能找到severity:2并获得匹配的Dict?
使用该filter功能
let foo = [
["selectedSegment":0, "severity":3, "dataDictKey": "critical"],
["selectedSegment":1, "severity":2, "dataDictKey": "major"],
["selectedSegment":2, "severity":1, "dataDictKey": "minor"],
]
let filteredArray = foo.filter{$0["severity"]! == 2}
print(filteredArray.first ?? "Item not found")
Run Code Online (Sandbox Code Playgroud)
要么 indexOf
if let filteredArrayIndex = foo.indexOf({$0["severity"]! == 2}) {
print(foo[filteredArrayIndex])
} else {
print("Item not found")
}
Run Code Online (Sandbox Code Playgroud)
要么 NSPredicate
let predicate = NSPredicate(format: "severity == 2")
let filteredArray = (foo as NSArray).filteredArrayUsingPredicate(predicate)
print(filteredArray.first ?? "Item not found")
Run Code Online (Sandbox Code Playgroud)
Swift 3更新:
indexOf( 已重命名为 index(where:filteredArrayUsingPredicate(predicate) 已重命名为 filtered(using: predicate)| 归档时间: |
|
| 查看次数: |
2303 次 |
| 最近记录: |