-2
A
回答
1
以这种方式使用reduce(_:_:)
与你的数组。
let array = [[["One","Two","Three"],["Four","Five"]],[["Six"]]]
let newArray = array.reduce([]) { $0 + $1.reduce([]){ $0 + $1 } }
print(newArray) //["One", "Two", "Three", "Four", "Five", "Six"]
3
joined()
返回(的懒惰视图)的集合中的元素,级联。这可以反复 更深嵌套集合被应用:
let arr = [ [ [ "A", "B" ], ["C"] ], [ [ "D", "E" ], ["F"] ] ]
let flattened = Array(arr.joined().joined())
print(flattened) // ["A", "B", "C", "D", "E", "F"]
外Array()
构造函数建立从所述序列的阵列。 除此之外,没有创建中间数组。
如果你只是想遍历嵌套数组然后加入 序列足以:
for elem in arr.joined().joined() {
print(elem)
}
0
您可以使用加入成为
let numbers = [[1,2,3],[4],[5,6,7,8,9]]
let newArray = Array(numbers.joined().joined())
print(newArray)//[1,2,3,4,5,6,7,8,9]]
0
这正是flatMap()的作用:
let arr = [ [ [ "A", "B" ], ["C"] ], [ [ "D", "E" ], ["F"] ] ]
// each call reduces the array by one dimension
let flattened = arr.flatMap{$0}.flatMap{$0}
// returns ["A", "B", "C", "D", "E", "F"]
相关问题
- 1. PHP数组 - 如何将一维数组转换为嵌套多维数组?
- 2. 将非嵌套和括号数组转换为嵌套数组
- 3. 将多维数组嵌套到单个多维数组中
- 4. 将嵌套的ArrayBuffer转换为嵌套数组在scala中
- 5. 将C转换为MIPS - 嵌套数组
- 6. 将数组转换为嵌套列表
- 7. 非嵌套数组嵌套数组Swift
- 8. 将数组转换为多维数组?
- 9. 将单维数组转换为多维数组
- 10. 如何将多维数组转换为单维数组?
- 11. 将多维数组列表转换为单个多维数组?
- 12. 将多维数组转换为单维关联jquery数组
- 13. 将两个一维数组转换为单个二维数组
- 14. 将单个二维数组转换为多维数组
- 15. 在python中将二维数组转换为三维数组
- 16. 在Swift中将JSON嵌套到数组
- 17. 将嵌套的json数组转换为java数组
- 18. 将多嵌套数组转换为一个数组
- 19. 将嵌套数组转换为关联数组
- 20. 如何在PHP中将多维关联数组转换为单维数组?
- 21. 在C#中将二维数组转换为单维?
- 22. Javascript嵌套数组转换
- 23. 将2维数组转换为单个数组
- 24. PHP:将多维数组转换为简单数组
- 25. 将多维数组转换为单个数组?
- 26. 将多个单维数组转换为单个多维数组php
- 27. 基于数组键将平面PHP数组转换为嵌套数组?
- 28. 将三维数组参考转换为一维数组
- 29. 将一维数组的索引转换为二维数组
- 30. 将二维numpy数组转换为三维数组
您的问题在编辑后不清楚。什么是[[[[params:CVarArg ...]]]?你究竟想要达到什么样的目标? –
这是您对上一个问题的跟进http://stackoverflow.com/q/42428504/1187415?如果是的话,那么你应该这样说。 –
这是同一个问题。只是想明确说明参数类型是CVarArg。最后我试图做到这一点 - 返回NSString(格式:内容,参数:getVaList(params))。但问题是我的参数是[[[]]即将到来,我想将它转换为[] – user1452936