Swift中的倒序遍历注意点

在Swift中的标准库中有方法

  • public func enumerated() -> EnumeratedSequence<Array<Element>>:可以用来快速的枚举数组中的内容,并用元组(index, value)接收
  • public func reversed() -> ReversedRandomAccessCollection<Array<Element>>:可以倒叙数组内容

但是当两者结合使用,并需要用到索引时需要注意

let array = ["hello", "welcome"]
for i in array.enumerated().reversed() {
  print(i) 
//  (1, "welcome")
//  (0, "hello")
}

for i in array.reversed().enumerated() {
  print(i) 
//  (0, "welcome")
//  (1, "hello")
}

可以看到,两种写法index对应的value是不一样的。如果先enumerated()数组,那么reversed ()会带索引一起倒叙。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容