الدالة minBy()
في لغة Kotlin
تعيد الدالةminBy()
العنصر الأول في المصفوفة أو المجموعة التي استُدعيت عبره والذي له أصغر قيمة معادة من الدالة الممررة selector
، أو null
إن لم يكن هناك أي عنصر يحقق ذلك.
في حال استدعاء الدالة minBy()
عبر قاموس فستعيد المدخل (Entry) الأول في ذلك القاموس والذي له أصغر قيمة معادة من الدالة الممررة selector
، أو null
إن لم يكن هناك أي مدخل يحقق ذلك.
البنية العامة
يمكن استدعاء الدالة 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?
يمكن استدعاء الدالة minBy()
عبر القواميس:
inline fun <K, V, R : Comparable<R>> Map<out K, V>.maxBy(
selector: (Entry<K, V>) -> R
): Entry<K, V>?
القيم المٌعادة
العنصر الأول في المصفوفة أو المجموعة التي استُدعيت عبره والذي له أصغر قيمة معادة من الدالة الممررة selector
، أو null
إن لم يكن هناك أي عنصر يحقق ذلك.
في حال استدعاء الدالة minBy()
عبر قاموس فستعيد المدخل (Entry) الأول في ذلك القاموس والذي له أصغر قيمة معادة من الدالة الممررة selector
، أو null
إن لم يكن هناك أي مدخل يحقق ذلك.
أمثلة
استخدام الدالة ()minBy
مع المصفوفات
تعرف الشيفرة الآتية مصفوفة باسم array
مكونة من أربعة سلاسل نصية باستخدام الدالة ()arrayOf
، ثم تستدعي الدالة ()minBy
عبر array
مع تمرير دالة تعيد طول السلاسل النصية للحصول على أصغر سلسلة نصية في المصفوفة array
من حيث الطول، ثم تطبع الناتج:
fun main(args: Array<String>) {
val array = arrayOf("foo", "hsoub", "g", "vol")
println(array.minBy {it.length}) // g
}