Swift 如何将对象数组分解为数组数组?
Swift How to break an array of objects into an array of arrays?
我有一组购买对象 [Purchase] 定义为:
struct Purchase {
let count: Int
let food: String
}
我如何才能将这个购买数组转换为具有相同计数 (Int) 的购买数组?
例如:
let input: [Purchase(count: 2, food: "popcorn"), Purchase(count: 3, food: "popcorn"), Purchase(count: 2, food: "soda"),
Purchase(count: 2, food: "popcorn"), Purchase(count: 2, food: "soda")]
output: [[Purchase]] = [[Purchase(count: 2, food: "popcorn"), Purchase(count: 2, food: "soda"),
Purchase(count: 2, food: "popcorn"), Purchase(count: 2, food: "soda")], [Purchase(count: 3, food: "soda")]
答案在评论中,但看起来更干净一些。
Dictionary(grouping: input, by: \.count).map(\.value)
我有一组购买对象 [Purchase] 定义为:
struct Purchase {
let count: Int
let food: String
}
我如何才能将这个购买数组转换为具有相同计数 (Int) 的购买数组?
例如:
let input: [Purchase(count: 2, food: "popcorn"), Purchase(count: 3, food: "popcorn"), Purchase(count: 2, food: "soda"),
Purchase(count: 2, food: "popcorn"), Purchase(count: 2, food: "soda")]
output: [[Purchase]] = [[Purchase(count: 2, food: "popcorn"), Purchase(count: 2, food: "soda"),
Purchase(count: 2, food: "popcorn"), Purchase(count: 2, food: "soda")], [Purchase(count: 3, food: "soda")]
答案在评论中,但看起来更干净一些。
Dictionary(grouping: input, by: \.count).map(\.value)