Swift Standard Library Functions
- indexOf(element) (替代find)
返回序列sequence中某元素element的位置index。如果序列中不存在此元素,則返回nil盟蚣。
let sequence = [2, 4, 6, 8, 10]
sequence.indexOf(8) // 3
sequence.indexOf(0) // nil
- filter(includeElementClosure)
對序列sequence中每個元素都執(zhí)行includeElementClosure閉包卫漫,并將所有閉包結果為true的元素合成一個新序列sequence并返回。
for i in (1...10).filter({ $0 % 2 == 0 }) {
print(i)
// 2, 4, 6, 8, 10
}
- map(transformClosure)
對序列sequence中每個元素都執(zhí)行transformClosure閉包凌蔬,并將所有閉包的結果合成一個新序列sequence并返回。
for i in (1...10).map({ $0 * 10 }) {
print(i)
// 10, 20, 30, 40, 50, 60, 70, 80, 90, 100
}
flatMap
作用和map類似,但是它舍棄了那些值為nil的元素浸锨。enumerate()
對于每一個元素都會返回一個包含元素的索引和值的元組(tuple)
for (index, value) in "Swift".characters.enumerate() {
print("Item\(index): \(value)")
// Item0: S
// Item1: w
// Item2: i
// Item3: f
// Item4: t
}