Sim*_*mon 40 for-loop where where-clause for-in-loop swift
是否有可能在另一个地方使用'where'关键字然后转换?我可以在for循环中使用它吗?
我有一个bools数组,都有一个值,我可以做这样的事情:
var boolArray: [Bool] = []
//(...) set values and do stuff
for value where value == true in boolArray {
   doSomething()
}
这比使用if要好得多,所以我想知道是否有可能在for循环中使用where.Ty适合你的时间.
Ben*_*aum 92
在Swift 2中,where添加了新语法:
for value in boolArray where value == true {
   ...
}
在Pre 2.0中,一个解决方案是.filter在迭代它之前调用数组:
for value in boolArray.filter({ $0 == true }) {
   doSomething()
}
法线for-loop将迭代列表中存在的所有元素。但有时我们只想在数据满足某些条件时才进行迭代,在那里我们可以使用where子句 with for -loop。它只是if循环内条件的替换。
例如:
let numbers = [1,2,3,4,5,6,7]
for data in numbers {
    if (data % 2 == 0) {
        print(data)
    }
}
可以用更简单的方式重写为:
for data in numbers where data % 2 == 0 {
    print(data)
}
| 归档时间: | 
 | 
| 查看次数: | 19926 次 | 
| 最近记录: |