flat Map Indexed
fun <T, R> Sequence<T>.flatMapIndexed(transform: (index: Int, T) -> Iterable<R>): Sequence<R>
Content copied to clipboard
fun <T, R> Sequence<T>.flatMapIndexed(transform: (index: Int, T) -> Sequence<R>): Sequence<R>
Content copied to clipboard
Returns a single sequence of all elements yielded from results of transform function being invoked on each element and its index in the original sequence.
The operation is intermediate and stateless.
Since Kotlin
1.4
Samples
import samples.*
import kotlin.test.*
fun main() {
//sampleStart
val data: List<String> = listOf("Abcd", "efgh", "Klmn")
val selected: List<Boolean> = data.map { it.any { c -> c.isUpperCase() } }
val result = data.flatMapIndexed { index, s -> if (selected[index]) s.toList() else emptyList() }
assertPrints(result, "[A, b, c, d, K, l, m, n]")
//sampleEnd
}