flatMapIndexed

Common
JVM
JS
Native
1.4
@JvmName ( "flatMapIndexedIterable" ) fun < T , R > Sequence < T > . flatMapIndexed (
transform : ( index : Int , T ) -> Iterable < R >
) : Sequence < R >

(source)
@JvmName ( "flatMapIndexedSequence" ) fun < T , R > Sequence < T > . flatMapIndexed (
transform : ( index : Int , T ) -> Sequence < R >
) : Sequence < R >

(source)

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 .

import kotlin.test.*

fun main(args: Array<String>) {
//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() }
println(result) // [A, b, c, d, K, l, m, n]
//sampleEnd
}