الدالة filterIndexed()
في لغة Kotlin
< Kotlin | collections
تعيد الدالةfilterIndexed()
لائحة تحتوي عناصر المصفوفة أو المجموعة التي تحقق الشرط المنطقي predicate()
المُمرّر إلى الدالة، الدالة المنطقية predicate()
تأخذ فهرس العنصر وقيمته كمعامل وتعيد قيمة منطقية.
البنية العامة
inline fun <T> Array<out T>.filterIndexed(
predicate: (index: Int, T) -> Boolean
): List<T>
inline fun ByteArray.filterIndexed(
predicate: (index: Int, Byte) -> Boolean
): List<Byte>
inline fun ShortArray.filterIndexed(
predicate: (index: Int, Short) -> Boolean
): List<Short>
inline fun IntArray.filterIndexed(
predicate: (index: Int, Int) -> Boolean
): List<Int>
inline fun LongArray.filterIndexed(
predicate: (index: Int, Long) -> Boolean
): List<Long>
inline fun FloatArray.filterIndexed(
predicate: (index: Int, Float) -> Boolean
): List<Float>
inline fun DoubleArray.filterIndexed(
predicate: (index: Int, Double) -> Boolean
): List<Double>
inline fun BooleanArray.filterIndexed(
predicate: (index: Int, Boolean) -> Boolean
): List<Boolean>
inline fun CharArray.filterIndexed(
predicate: (index: Int, Char) -> Boolean
): List<Char>
inline fun <T> Iterable<T>.filterIndexed(
predicate: (index: Int, T) -> Boolean
): List<T>
يُلاحَظ وجود الكلمة المفتاحية inline
للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).
القيم المٌعادة
لائحة تحتوي عناصر المصفوفة أو المجموعة التي تحقق الشرط المنطقي predicate()
المُمرّر إلى الدالة.
أمثلة
استخدام الدالة ()filterIndexed
مع المصفوفات
تعرف الشيفرة الآتية مصفوفة باسم array
مكونة من ستة أعداد باستخدام الدالة ()arrayOf
، ثم تستخدم الدالة ()filterIndexed
لتصفية عناصر المصفوفة array
بواسطة الدالة ()predicate
المعرّفة في الشيفرة، وتنشئ لائحة جديدة تضم عناصر المصفوفة array
التي فهرسها أصغر من قيمتها، ثم تطبع الناتج:
fun main(args: Array<String>) {
val array = arrayOf(1,2,1,7,3,11)
val predicate : (Int,Int) -> Boolean = {x,y -> x < y }
println(array.filterIndexed(predicate)) // [1, 2, 7, 11]
}
انظر أيضًا
filter()
: تعيد لائحة تحتوي عناصر المصفوفة أو المجموعة التي تحقق الشرط المنطقيpredicate()
المُمرّر إلى الدالة. وفي حال استدعائها عبرقاموس فستعيد قاموسًا جديدًا مكونًا من كل الأزوج التي تحقق الشرط المنطقيpredicate()
الممرر إلى الدالة.