Swift – 拆分Int到其个人数字

前端之家收集整理的这篇文章主要介绍了Swift – 拆分Int到其个人数字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图将Int分解成其个别数字,例如3489到3 4 8 9,然后我想把数字放在一个Int数组中.

我已经尝试将数字放入一个字符串,然后迭代每个数字,但它不起作用:

  1. var number = "123456"
  2.  
  3. var array = [Int]()
  4.  
  5. for digit in number {
  6. array.append(digit)
  7. }

有任何想法吗?

更新:Xcode 8.2.1•Swift 3.0.2

您可以创建一个字符数组并将它们映射到Int,如下所示:

  1. let number = "123456"
  2.  
  3. let array = number.characters.flatMap{Int(String($0))} // [1,2,3,4,5,6]

您还可以扩展Integer协议:

  1. extension Int {
  2. var array: [Int] {
  3. return description.characters.flatMap{Int(String($0))}
  4. }
  5. }
  6.  
  7. let myInt = 12345
  8.  
  9. let myIntArray = myInt.array // [1,5]

编辑:由doisk建议,您可以使用flatMap来嵌套结果.

  1. let intArray = [456,827]
  2. let nestedInts = intArray.flatMap{$0.array}
  3.  
  4. print(nestedInts) // [4,6,8,7]

猜你在找的Swift相关文章