contains(_:)判断是否包含给定元素
contains(where:)判断数组是否包含复合给定条件的元素
判断所有元素是否符合某个条件
allSatisfy(_:)判断数组的每一个元素都复合给定的条件
//: A UIKit based Playground for presenting user interface
import UIKit
var array = [Int](6..<20)
print(array.allSatisfy({$0>=5}))
print(array.allSatisfy({$0<5}))
true
false
查找元素
first 返回第一个元素(optional)如果数组为空 返回nil
last 返回数组最后一个元素 (optional) 如果数组为空,返回nil
first(while:)返回数组第一个复合给定条件的元素(optional)
last(while:)返回最后一个符合给定条件的元素(optional)
//: A UIKit based Playground for presenting user interface
import UIKit
var array = [10,231,3,123,123,12,312,3,121234,1]
print(array.first)
print(array.last)
print(array.first(where: { $0 > 10 }))
print(array.last(where: { $0 > 10 }))
结果
Optional(10)
Optional(1)
Optional(231)
Optional(121234)
查找数组索引
//: A UIKit based Playground for presenting user interface
import UIKit
var array = [10,231,3,123,123,10,12,312,3,121234,1]
print(array.firstIndex(of: 10))
print(array.lastIndex(of: 3))
Optional(0)
Optional(8)
同样的也适用于条件
//: A UIKit based Playground for presenting user interface
import UIKit
var array = [10,231,3,123,123,10,12,312,3,121234,1]
print(array.firstIndex(where: {$0 > 20}))
print(array.lastIndex(where: {$0 > 20}))
Optional(1)
Optional(9)
寻找最大元素和最小元素
//: A UIKit based Playground for presenting user interface
import UIKit
var array = [10,231,3,123,123,10,12,312,3,121234,1]
print(array.min())
print(array.max())
Optional(1)
Optional(121234)
对于元祖中的数组如何查找最大最小值呢
//: A UIKit based Playground for presenting user interface
import UIKit
var array = [(42,"erro2"),(41,"erro1"),(43,"erro3")]
print(array.min {a,b in a.0<b.0})
print(array.max {a,b in a.0<b.0})
Optional((41, "erro1"))
Optional((43, "erro3"))