Arrays swift中的阵列数据分组
我的数据模型:Arrays swift中的阵列数据分组,arrays,swift,Arrays,Swift,我的数据模型: struct ProductResponse: Codable { var id: Int? var name: String? var slug: String? var permalink: String? var dateCreated: String? var description: String? var shortDescription: String? var sku: String?
struct ProductResponse: Codable {
var id: Int?
var name: String?
var slug: String?
var permalink: String?
var dateCreated: String?
var description: String?
var shortDescription: String?
var sku: String?
var price: String?
var regularPrice: String?
var salePrice: String?
var priceHtml: String?
var image: [ProductImageResponse]?
var catagories: [CatagoriesResponse]?
enum CodingKeys: String, CodingKey {
case id = "id"
case name = "name"
case slug = "slug"
case permalink = "permalink"
case dateCreated = "date_created"
case description = "description"
case shortDescription = "short_description"
case sku = "sku"
case price = "price"
case regularPrice = "regular_price"
case salePrice = "sale_price"
case priceHtml = "price_html"
case image = "images"
case catagories = "categories"
}
}
struct ProductImageResponse: Codable {
var id: Int?
var source: String?
var name: String?
var alt: String?
var position: Int
enum CodingKeys: String, CodingKey {
case id = "id"
case source = "src"
case name = "name"
case alt = "alt"
case position = "position"
}
}
struct CatagoriesResponse: Codable {
var id: Int
var name: String
var slug: String
enum CodingKeys: String, CodingKey{
case id = "id"
case name = "name"
case slug = "slug"
}
}
我有一系列的数据
var catProducts = [ProductResponse]()
好的,我想将具有相同类别[0].name的产品分组到一个数组中。并使最后一个数组包含具有相同类别[0]的分组产品。名称
变量myfinalDataArray=[[“标题”:[ProductResponse]],…]
例如
[“cata1”:[具有ProductResponse.catagory[0]的产品列表。名称==
cata1]],“cat2”:[具有ProductResponse的产品列表类别[0]。名称==cat2,…。] 密钥将来自ProductResponse。类别[0]。名称 您可以使用:
Dictionary(grouping: catProducts, by: {
$0.categories?.first?.name
})
它应该返回一个字典[String:ProductResponse]
,其中包含按第一个类别名称分组的catProducts
对于这个问题中的一个非常类似的问题,有一些很好的答案:使用