问题描述
let array = [ .... ]
if let found = find(array.map({ $0.name }), "Foo") {
let obj = array[found]
}
如果你有巨大的数组,你可能想要这样做:
if let found = find(lazy(array).map({ $0.name }), "Foo") {
let obj = array[found]
}
或者可能:
if let found = find(lazy(array).map({ $0.name == "Foo" }), true) {
let obj = array[found]
}
解决方法
Swift 在 Underscore.js
中有类似_.findWhere的东西吗?
我有一个类型的结构数组,T
并想检查数组是否包含其name
属性等于的结构对象Foo
。
尝试使用find()
,filter()
但它们仅适用于原始类型,例如String
or
Int
。抛出关于不符合Equitable
协议或类似的错误。