¿Cómo obtener el índice en un para cada ciclo? Quiero imprimir números para cada segunda iteración
Por ejemplo
for (value in collection) {
if (iteration_no % 2) {
//do something
}
}
En Java, tenemos el tradicional bucle for
for (int i = 0; i < collection.length; i++)
¿Cómo conseguir el i?

Respuestas:
Además de las soluciones proporcionadas por @Audi, también hay
forEachIndexed:fuente
breakdentro?return@forEachIndexedlo que esencialmente servirá comocontinuesaltar al siguiente elemento. Si necesita romper, tendría que envolverlo en una función y usarloreturnen el bucle para regresar de esa función de cierre.Utilizar
indicesSi desea valor e índice Use
withIndex()Referencia: Control de flujo en kotlin
fuente
prueba esto; en bucle
fuente
Alternativamente, puede usar la
withIndexfunción de biblioteca:fuente
Parece que lo que realmente estás buscando es
filterIndexedPor ejemplo:
Resultado:
fuente
.forEach(::println)Los rangos también conducen a un código legible en tales situaciones:
fuente
(0..collection.lastIndex step 2)