如何通过元素的属性之一对元素数组进行分组?

问题描述 投票:0回答:1

我已经定义了A对象:

class A {
   var value: String
   init(_ value: String) {
        self.value = value
   }
}

然后我定义了以下数组:

let array: [A] = [A("1"), A("2"), A("3"), A("2"), A("1"), A("2"), A("1")]

我应该如何遍历数组以接收这样的结果:

let output: [[A]] = [
    [A("1"), A("1"), A("1")], 
    [A("2"), A("2"), A("2")], 
    [A("3")]
]

是否可以使用预定义的数组方法之一?

ios swift
1个回答
0
投票

首先,请不要发布不会编译的伪代码。

第二个是API

struct A {
   let value: String
}

let array = [A(value:"1"), A(value:"2"), A(value:"3"), A(value:"2"), A(value:"1"), A(value:"2"), A(value:"1")]

let output = Dictionary(grouping: array, by: {$0.value}).map{$0.value}
© www.soinside.com 2019 - 2024. All rights reserved.