الدالة minBy()‎ في Kotlin

من موسوعة حسوب
مراجعة 11:36، 30 أغسطس 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (استبدال النص - 'Kotlin Functions' ب'Kotlin Function')

تجلب الدالة minBy()‎ العنصر أو الزوج الأول من المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها والذي أعيدت معه أصغر قيمة عند تطبيق دالة معيَّنة عليه.

البنية العامة

يمكن استدعاء الدالة minBy()‎ مع المصفوفات و المجموعات والخرائط:

inline fun <T, R : Comparable<R>> Array<out T>.maxBy(
    selector: (T) -> R
): T? 
inline fun <R : Comparable<R>> ByteArray.maxBy(
    selector: (Byte) -> R
): Byte? 
inline fun <R : Comparable<R>> ShortArray.maxBy(
    selector: (Short) -> R
): Short? 
inline fun <R : Comparable<R>> IntArray.maxBy(
    selector: (Int) -> R
): Int? 
inline fun <R : Comparable<R>> LongArray.maxBy(
    selector: (Long) -> R
): Long? 
inline fun <R : Comparable<R>> FloatArray.maxBy(
    selector: (Float) -> R
): Float? 
inline fun <R : Comparable<R>> DoubleArray.maxBy(
    selector: (Double) -> R
): Double? 
inline fun <R : Comparable<R>> BooleanArray.maxBy(
    selector: (Boolean) -> R
): Boolean? 
inline fun <R : Comparable<R>> CharArray.maxBy(
    selector: (Char) -> R
): Char? 
inline fun <T, R : Comparable<R>> Iterable<T>.maxBy(
    selector: (T) -> R
): T?

inline fun <K, V, R : Comparable<R>> Map<out K, V>.maxBy(
    selector: (Entry<K, V>) -> R
): Entry<K, V>?

القيم المعادة

يعاد العنصر أو الزوج الأول من المصفوفة أو المجموعة أو الخريطة المعطاة والذي أعطى أصغر قيمة عند تطبيق الدالة selector عليه، أو تُعاد القيمة null إن لم يكن هناك أي عنصر.

أمثلة

تعرف الشيفرة الآتية مصفوفة باسم array باستخدام الدالة ()arrayOf تحوي سلاسل نصية ثمَّ تستدعي الدالة ()maxBy لمعرفة أقصر سلسلة نصية:

fun main(args: Array<String>) {
    val array = arrayOf("مستقل", "أكاديمية حسوب", "خمسات", "موسوعة حسوب")

    println(array.minBy { it.length }) // مستقل
}

انظر أيضًا

  • الدالة maxBy()‎: تجلب العنصر أو الزوج الأول من المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها والذي أعيدت معه أكبر قيمة عند تطبيق دالة معيَّنة عليه.

مصادر