Concatenate Swift Array of Int to create a new Int

This will work:

let digits = [1,2,3,4]
let intValue = digits.reduce(0, combine: {$0*10 + $1})

For Swift 4+ :

let digits = [1,2,3,4]
let intValue = digits.reduce(0, {$0*10 + $1})

Or this compiles in more versions of Swift:

(Thanks to Romulo BM.)

let digits = [1,2,3,4]
let intValue = digits.reduce(0) { return $0*10 + $1 }

NOTE

This answer assumes all the Ints contained in the input array are digits — 0…9 . Other than that, for example, if you want to convert [1,2,3,4, 56] to an Int 123456, you need other ways.

Leave a Comment