首页 > 解决方案 > 数组的俱乐部值

问题描述

我正在用Swift 4.2编写一个iOS 应用程序。我得到 JSON 数组,我将其转换为 Class Sector的 Swift 对象

JSON:

"Sector": [
            {
                "REPSECTOR": "TELECOM - SERVICES",
                "PERC_HOLD": 5.6,
                "CO_NAME": "REVERSE REPO"
            },
            {
                "REPSECTOR": "TELECOM - SERVICES",
                "PERC_HOLD": 1.0,
                "CO_NAME": "BHARTI AIRTEL"
            },
            {
                "REPSECTOR": "FERROUS METALS",
                "PERC_HOLD": 0.3,
                "CO_NAME": "COAL INDIA"
            }
        ]

班级:

class Sector{
  var REPSECTOR:String=""
  var PERC_HOLD:Double=0.0
  var CO_NAME:String=""
}

我正在从上面制作[Sector]类型的 Array array1。

我需要从上面的数组中创建一个新数组,该数组必须是基于REPSECTOR变量和 PERC_HOLD 总数的组合/组合值。

预期结果:

具有 2 个元素的新数组:1:电信 - 服务,5.6+1.0 2:黑色金属,0.3

标签: iosswift

解决方案


这不是最好的解决方案,但工作

var newArray = [Sector]()

    oldArray.forEach() { element in
        if newArray.contains(where: { $0.REPSECTOR == element.REPSECTOR }) {
            newArray.forEach() { newElement in
                if newElement.REPSECTOR == element.REPSECTOR {
                    newElement.CO_NAME + element.CO_NAME
                } else {
                    newArray.append(element)
                }
            }
        } else {
            newArray.append(element)
        }
    }

推荐阅读