【发布时间】:2020-09-17 10:41:14
【问题描述】:
我有一个像这样的[Int] 数组:
[1, 2, 3]
如何在此应用一个函数以使其返回:
123
?
【问题讨论】:
-
您需要
123作为Int还是String? -
作为
Int@DávidPásztor
标签: swift
我有一个像这样的[Int] 数组:
[1, 2, 3]
如何在此应用一个函数以使其返回:
123
?
【问题讨论】:
123 作为Int 还是String?
Int @DávidPásztor
标签: swift
let nums = [1, 2, 3]
let combined = nums.reduce(0) { ($0*10) + $1 }
print(combined)
注意事项
Int 在数字过长时不会溢出(在 64 位系统上为 +263)。String 连接技术确保正确处理所有以10 为基数的数字。但是,您需要再次注意,如果您选择将其转换回 Int,数字不会溢出。【讨论】:
[1, 2, 32] 将导致 152
我们可以像下面这样......
var finalStr = ""
[1,2,3].forEach {
finalStr.append(String($0))
}
if let number = Int(finalStr) {
print(number)
}
【讨论】:
map进行简化:let number = Int([1,2,3].map(String.init).joined())