Вы можете преобразовать число в String
и сопоставить его с массивом:
private static func formAnArray(_ value: Int) -> [Int] {
return String(value).compactMap { Int(String($0)) }
}
Другой способ (предпочтительный для больших чисел) — использовать комбинацию %
и /
:
private static func formAnArray(_ value: Int) -> [Int] {
var value = value
var result: [Int] = []
while value > 0 {
result.insert(value % 10, at: 0)
value /= 10
}
return result
}
Вы можете использовать compactMap для получения и преобразования цифр в массив int
print(formAnArray(value: 1234))
func formAnArray(value: Int) -> [Int] {
let string = String(value)
return string.compactMap{Int(String($0))}
}