الدالة forEachIndexed()
في Kotlin
< Kotlin | collections
تُنفّد الدالةُ forEachIndexed()
الدالةَ المُمرّرةَ إليها على كل عنصر من عناصر المصفوفة، أو المجموعة، أو الخريطة، التي استُدعيت معها وعلى فهرس ذلك العنصر.
البنية العامة
inline fun <T> Array<out T>.forEachIndexed(
action: (index: Int, T) -> Unit)
inline fun ByteArray.forEachIndexed(
action: (index: Int, Byte) -> Unit)
inline fun ShortArray.forEachIndexed(
action: (index: Int, Short) -> Unit)
inline fun IntArray.forEachIndexed(
action: (index: Int, Int) -> Unit)
inline fun LongArray.forEachIndexed(
action: (index: Int, Long) -> Unit)
inline fun FloatArray.forEachIndexed(
action: (index: Int, Float) -> Unit)
inline fun DoubleArray.forEachIndexed(
action: (index: Int, Double) -> Unit) (
inline fun BooleanArray.forEachIndexed(
action: (index: Int, Boolean) -> Unit) (source)
inline fun CharArray.forEachIndexed(
action: (index: Int, Char) -> Unit)
inline fun <T> Iterable<T>.forEachIndexed(
action: (index: Int, T) -> Unit)
وجود الكلمة المفتاحية inline
يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)).
أمثلة
تعرف الشيفرة الآتية مصفوفة باسم array
باستخدام الدالة ()arrayOf
، ثم تستخدم الدالة ()forEachIndexed
لطباعة فهرس وقيمة كل عنصر من عناصر تلك المصفوفة بجانب بعضهما بعضًا:
fun main(args: Array<String>) {
val array = arrayOf(1, 2, 3, 4, 5, 6)
array.forEachIndexed { index, element -> print("$index:$element, ") } // 0:1, 1:2, 2:3, 3:4, 4:5, 5:6,
}
انظر أيضًا
- الدالة
forEach()
: تُنفّد الدالةَ المُمرّرةَ إليها على كل عنصر من عناصر المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها. - التابع
Array.iterator()
: يعيد عنصرًا تكراريًّا (iterator) بهدف تكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة. - الدالة
elementAt()
: تجلب عنصرًا ذي فهرس معيَّن من المصفوفة أو المجموعة التي استُدعيت معها. - الخاصية
indices
: تُستخدَم هذه الخاصيّة للحصول على الفهارس الصحيحة (valid indices) للمصفوفة أو المجموعة (collection).