swift3中的数组扩展
如果Bool数组中的元素都为true,那么下面的filter方法将返回trueswift3中的数组扩展,swift3,Swift3,如果Bool数组中的元素都为true,那么下面的filter方法将返回true print([false, true].filter({!$0}).isEmpty) // yields false print([true, true].filter({!$0}).isEmpty) // yields true 如何在Swift 3中的数组上创建一个扩展方法,使我可以这样表示它: [false, true].allElementsTrue() 这应该回答您的问题: extension Col
print([false, true].filter({!$0}).isEmpty) // yields false
print([true, true].filter({!$0}).isEmpty) // yields true
如何在Swift 3中的数组上创建一个扩展方法,使我可以这样表示它:
[false, true].allElementsTrue()
这应该回答您的问题:
extension Collection where Iterator.Element == Bool {
var allElementsTrue: Bool {
return self.filter({!$0}).isEmpty
}
}
或
但我更喜欢在没有参数的情况下使用计算属性
注意:作为替代,您也可以返回!self.contains(false)
以更有效地获得相同的结果(短路)
extension Collection where Iterator.Element == Bool {
func allElementsTrue() -> Bool {
return self.filter({!$0}).isEmpty
}
}