Array.filter 使用内联正则表达式
Array.filter with inline regex
我正在编写一个函数,给定一个对象数组,其中包含一个名为 url
的 属性,删除所有具有 错误 url 的对象。
这是我的:
func cleanArray(data:[String: Any])->Void {
let uris = data.filter{([=11=]["url"] as! String).range(of: #"^(https?|file|ftp)"#, options: .regularExpression) != nil };
}
但是 xcode 在 [=13=]
中显示错误:
Value of tuple type '(key: String, value: Any)' has no member 'subscript'
[String: Any]
是一个字典,你需要[[String: Any]]
func cleanArray(data:[[String: Any]]) -> Void {
let uris = data.filter{ ([=10=]["url"] as! String).range(of: #"^(https?|file|ftp)"#, options: .regularExpression) != nil };
}
如果你把它变成一个模型数组,这可能更面向对象
我正在编写一个函数,给定一个对象数组,其中包含一个名为 url
的 属性,删除所有具有 错误 url 的对象。
这是我的:
func cleanArray(data:[String: Any])->Void {
let uris = data.filter{([=11=]["url"] as! String).range(of: #"^(https?|file|ftp)"#, options: .regularExpression) != nil };
}
但是 xcode 在 [=13=]
中显示错误:
Value of tuple type '(key: String, value: Any)' has no member 'subscript'
[String: Any]
是一个字典,你需要[[String: Any]]
func cleanArray(data:[[String: Any]]) -> Void {
let uris = data.filter{ ([=10=]["url"] as! String).range(of: #"^(https?|file|ftp)"#, options: .regularExpression) != nil };
}
如果你把它变成一个模型数组,这可能更面向对象