with while style statement removed loop index has for been array for-loop swift where where-clause for-in-loop

for loop - while - ¿Puedo usar ''where'' dentro de un for-loop en swift?



swift for with index (2)

En Swift 2, nuevo where se agregó la sintaxis:

for value in boolArray where value == true { ... }

En Pre 2.0, una solución sería llamar a .filter en la matriz antes de .filter :

for value in boolArray.filter({ $0 == true }) { doSomething() }

¿Existe también la posibilidad de utilizar la palabra clave ''dónde'' en otro lugar y luego un interruptor? ¿Puedo usarlo en un bucle for in por ejemplo?

Tengo una matriz con bools, todos con un valor, ¿puedo hacer algo como esto?

var boolArray: [Bool] = [] //(...) set values and do stuff for value where value == true in boolArray { doSomething() }

Esto sería mucho mejor que usar un if, por lo que me pregunto si existe la posibilidad de usarlo en combinación con un for-loop. Ty por tu tiempo.


Sí, puedes usar la cláusula "where" con for loop.

let arr = [1,2,3,4,5] for value in arr where value != 0 { print(value) }

Considerando tu ejemplo,

var boolArray: [Bool] = [] //(...) set values and do stuff for value in boolArray where value == true { doSomething() }