enumerated() 是什么 ?
enumerate, 词性为 VERB, 中文译为"列举;枚举", When you enumerate a list of things, you name each one in turn.
enumerated, 是 enumerate 的过去式和过去分词
对于
enumerated()
方法, 苹果官方的描述是: Returns a sequence of pairs (n, x), where n represents a consecutive integer starting at zero and x represents an element of the sequence.
swift
// enumerated()接口声明
func enumerated() -> EnumeratedSequence<Self>
// EnumeratedSequence接口声明
public struct EnumeratedSequence<Base> where Base : Sequence
在 Swift 中,enumerated()
是一个用于遍历集合类型的方法,它返回一个由每个元素的索引和值组成的元组。
常用的使用方式 (或使用场景)
- 遍历数组并获取元素的索引和值:
swift
let array = ["apple", "banana", "orange"]
for (index, value) in array.enumerated() {
print("Index: \(index), Value: \(value)")
}
输出:
Index: 0, Value: apple
Index: 1, Value: banana
Index: 2, Value: orange
- 使用
map()
方法将数组中的元素转换为元组:
swift
let array = ["apple", "banana", "orange"]
let enumeratedArray = array.enumerated().map { (index, value) in
return (index: index, fruit: value)
}
print(enumeratedArray)
输出:
[(index: 0, fruit: "apple"), (index: 1, fruit: "banana"), (index: 2, fruit: "orange")]
- 使用
filter()
方法过滤数组中的元素:
swift
let array = ["apple", "banana", "orange"]
let filteredArray = array.enumerated().filter { (index, value) in
return index % 2 == 0
}.map { (index, value) in
return value
}
print(filteredArray)
输出:
["apple", "orange"]
在这个例子中,我们使用 filter()
方法过滤了索引为偶数的元素,并使用 map()
方法将结果转换为一个只包含值的数组。