reduceOrNull

Common
JVM
JS
Native
1.4
inline fun < S , T : S > Array < out T > . reduceOrNull (
operation : ( acc : S , T ) -> S
) : S ?

(source)
inline fun ByteArray . reduceOrNull (
operation : ( acc : Byte , Byte ) -> Byte
) : Byte ?

(source)
inline fun ShortArray . reduceOrNull (
operation : ( acc : Short , Short ) -> Short
) : Short ?

(source)
inline fun IntArray . reduceOrNull (
operation : ( acc : Int , Int ) -> Int
) : Int ?

(source)
inline fun LongArray . reduceOrNull (
operation : ( acc : Long , Long ) -> Long
) : Long ?

(source)
inline fun FloatArray . reduceOrNull (
operation : ( acc : Float , Float ) -> Float
) : Float ?

(source)
inline fun DoubleArray . reduceOrNull (
operation : ( acc : Double , Double ) -> Double
) : Double ?

(source)
inline fun BooleanArray . reduceOrNull (
operation : ( acc : Boolean , Boolean ) -> Boolean
) : Boolean ?

(source)
inline fun CharArray . reduceOrNull (
operation : ( acc : Char , Char ) -> Char
) : Char ?

(source)
@ExperimentalUnsignedTypes inline fun UIntArray . reduceOrNull (
operation : ( acc : UInt , UInt ) -> UInt
) : UInt ?

(source)
@ExperimentalUnsignedTypes inline fun ULongArray . reduceOrNull (
operation : ( acc : ULong , ULong ) -> ULong
) : ULong ?

(source)
@ExperimentalUnsignedTypes inline fun UByteArray . reduceOrNull (
operation : ( acc : UByte , UByte ) -> UByte
) : UByte ?

(source)
@ExperimentalUnsignedTypes inline fun UShortArray . reduceOrNull (
operation : ( acc : UShort , UShort ) -> UShort
) : UShort ?

(source)

Accumulates value starting with the first element and applying operation from left to right to current accumulator value and each element.

Returns null if the array is empty.

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val strings = listOf("a", "b", "c", "d")
println(strings.reduceOrNull { acc, string -> acc + string }) // abcd
println(strings.reduceIndexedOrNull { index, acc, string -> acc + string + index }) // ab1c2d3

println(emptyList<String>().reduceOrNull { _, _ -> "" }) // null
//sampleEnd
}

Parameters

operation - function that takes current accumulator value and an element, and calculates the next accumulator value.

Common
JVM
JS
Native
1.4
inline fun < S , T : S > Iterable < T > . reduceOrNull (
operation : ( acc : S , T ) -> S
) : S ?

(source)

Accumulates value starting with the first element and applying operation from left to right to current accumulator value and each element.

Returns null if the collection is empty.

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
val strings = listOf("a", "b", "c", "d")
println(strings.reduceOrNull { acc, string -> acc + string }) // abcd
println(strings.reduceIndexedOrNull { index, acc, string -> acc + string + index }) // ab1c2d3

println(emptyList<String>().reduceOrNull { _, _ -> "" }) // null
//sampleEnd
}

Parameters

operation - function that takes current accumulator value and an element, and calculates the next accumulator value.