Güncelleme: Xcode 9 • Swift 4
Sen aşağıdaki gibi int karakter dizisi oluşturmak ve bunları flatMap edebilirsiniz
:
:
let number = "123456"
let array = number.flatMap{Int(String($0))} // [1, 2, 3, 4, 5, 6]
Ayrıca Tamsayı protokolünü uzatabilir
extension Int {
var array: [Int] {
return String(self).flatMap{ Int(String($0)) }
}
}
Xco • de 8.2.1 Sen aşağıdaki gibi int karakter dizisi oluşturmak ve bunları flatMap edebilirsiniz 3.0.2
Swift:
extension Int {
var array: [Int] {
return String(self).characters.flatMap{ Int(String($0)) }
}
}
let myInt = 12345
let myIntArray = myInt.array // [1, 2, 3, 4, 5]
:
let number = "123456"
let array = number.characters.flatMap{Int(String($0))} // [1, 2, 3, 4, 5, 6]
Ayrıca Tamsayı protokolünü uzatabilir
Düzenleme: Doisk tarafından önerildiği gibi, sonucu da katlamak için flatMap'i de kullanabilirsiniz.
let intArray = [456, 827]
let nestedInts = intArray.flatMap{$0.array}
print(nestedInts) // [4, 5, 6, 8, 2, 7]
Teşekkür çok Leonardo kullanabilirsiniz! Ayrıca sayıları bir dizide olduklarını ayırmak istesem ne olur? ör. değişken dizi = [456, 827] – Do2
, 6 Ints veya 3 Ints? 2 dizisiyle bir dizi döndürecek mi? –
1 dizi döndürecektir 6 Ints – Do2