filterIndexed所在位置是kotlin.text.filterIndexed,其相关用法介绍如下。

用法一

inline fun CharSequence.filterIndexed(
    predicate: (index: Int, Char) -> Boolean
): CharSequence

返回一个 char 序列,其中仅包含原始 char 序列中与给定 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
}

输出:

[0, 1, 2, 3, 4, 6]

参数

predicate- 获取字符索引和字符本身并返回该字符的谓词评估结果的函数。

用法二

inline fun String.filterIndexed(
    predicate: (index: Int, Char) -> Boolean
): String

返回一个字符串,该字符串仅包含原始字符串中与给定 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
}

输出:

[0, 1, 2, 3, 4, 6]

参数

predicate- 获取字符索引和字符本身并返回该字符的谓词评估结果的函数。