filterIndexed

Common
JVM
JS
Native
1.0
inline fun < T > Array < out T > . filterIndexed (
predicate : ( index : Int , T ) -> Boolean
) : List < T >

(source)
inline fun ByteArray . filterIndexed (
predicate : ( index : Int , Byte ) -> Boolean
) : List < Byte >

(source)
inline fun ShortArray . filterIndexed (
predicate : ( index : Int , Short ) -> Boolean
) : List < Short >

(source)
inline fun IntArray . filterIndexed (
predicate : ( index : Int , Int ) -> Boolean
) : List < Int >

(source)
inline fun LongArray . filterIndexed (
predicate : ( index : Int , Long ) -> Boolean
) : List < Long >

(source)
inline fun FloatArray . filterIndexed (
predicate : ( index : Int , Float ) -> Boolean
) : List < Float >

(source)
inline fun DoubleArray . filterIndexed (
predicate : ( index : Int , Double ) -> Boolean
) : List < Double >

(source)
inline fun BooleanArray . filterIndexed (
predicate : ( index : Int , Boolean ) -> Boolean
) : List < Boolean >

(source)
inline fun CharArray . filterIndexed (
predicate : ( index : Int , Char ) -> Boolean
) : List < Char >

(source)
inline fun < T > Iterable < T > . filterIndexed (
predicate : ( index : Int , T ) -> Boolean
) : List < T >

(source)
@ExperimentalUnsignedTypes inline fun UIntArray . filterIndexed (
predicate : ( index : Int , UInt ) -> Boolean
) : List < UInt >

(source)
@ExperimentalUnsignedTypes inline fun ULongArray . filterIndexed (
predicate : ( index : Int , ULong ) -> Boolean
) : List < ULong >

(source)
@ExperimentalUnsignedTypes inline fun UByteArray . filterIndexed (
predicate : ( index : Int , UByte ) -> Boolean
) : List < UByte >

(source)
@ExperimentalUnsignedTypes inline fun UShortArray . filterIndexed (
predicate : ( index : Int , UShort ) -> Boolean
) : List < UShort >

(source)

Returns a list containing only elements matching the given predicate .

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val numbers: List<Int> = listOf(0, 1, 2, 3, 4, 8, 6)
val numbersOnSameIndexAsValue = numbers.filterIndexed { index, i -> index == i }

println(numbersOnSameIndexAsValue) // [0, 1, 2, 3, 4, 6]
//sampleEnd
}

Parameters

predicate - function that takes the index of an element and the element itself and returns the result of predicate evaluation on the element.