Swift 常见问题之Swift如何循环遍历数组通过索引和迭起 for 条件控制语句(教程含解决方案)

实战需求

有没有可以用来遍历数组并具有索引和元素的函数,例如Python的函数enumerate

解决方案

Swift5提供了一个名为方法enumerated()对Array。enumerated()具有以下声明

let list = ["Car", "Bike", "Plane", "Boat"]
for (index, element) in list.enumerated() {
    print(index, ":", element)
}
/*
prints:
0 : Car
1 : Bike
2 : Plane
3 : Boat
*/

一个更快的方法是:

et list = [Int](1...5)
let arrayOfTuples = Array(list.enumerated())
print(arrayOfTuples) // prints [(offset: 0, element: 1), (offset: 1, element: 2), (offset: 2, element: 3), (offset: 3, element: 4), (offset: 4, element: 5)]

作为替代方案,你也可以使用enumerated()具有map:

let list = [Int](1...5)
let arrayOfDictionaries = list.enumerated().map { (a, b) in return [a : b] }
print(arrayOfDictionaries) // prints [[0: 1], [1: 2], [2: 3], [3: 4], [4: 5]]

此外,虽然有一定的局限性࿰

上一篇:复习第三天:JavaSE之方法


下一篇:CS231N 01:Python Numpy Tutorial