我使用雨燕3.0,并有在数组搜索的项目作为字符串类型的扩展验证码:获取较短版本的for循环?
extension String {
func equal(compareToArray : [String]) -> Bool {
for s in compareToArray {
if self == s {
return true
}
}
return false
}
}
它运行良好,但我的问题是,我可以做的更好(更短/更简单或更快)?
好了,另一个类似的例子:
func contains(compareToArray : [String]) -> Bool {
for s in compareToArray {
if self.contains(s) {
return true
}
}
return false
}
:-)是的,你说得对。我添加了另一个例子,不应该转身。 :-) – Peter71
好的,即使结果已经为真,该过滤器也会获取所有数组成员。它更短,但更慢。我无法决定哪一个更好。 :-) 谢谢。 – Peter71
你的第一个例子比OP更快吗?键入的速度更快,当然,但是'contains'在引擎盖下完全一样。即使'$ 0.contains(“oo”)'返回true,您的第二个示例也会不必要地遍历整个'compareToArray'。使用'compareToArray.contains {...}'会更好:) – Hamish