gpt4 book ai didi

ios - 数组的 Club 值

转载 作者:行者123 更新时间:2023-11-29 05:49:47 27 4
gpt4 key购买 nike

我正在使用 Swift 4.2 编写一个 iOS 应用程序。我正在获取 JSON 数组,并将其转换为类 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] 类型的数组 array1。

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

预期结果:

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

最佳答案

假设您解码的数组名为 array :

var array: [Sector]()

让我们创建一个具有相同 REPSECTOR 属性的扇区字典:

let dict = Dictionary(grouping: array) {
$0.REPSECTOR
}

现在让我们创建一个包含同名扇区的新数组,并对它们的 PERC_HOLD 求和:

var newArray = [Sector]()
for (key, value) in dict {
let sector = Sector()
sector.REPSECTOR = key
sector.PERC_HOLD = value.reduce(0, { $0 + $1.PERC_HOLD })
newArray.append(sector)
}

你可以这样检查结果:

for s in newArray {
print(s.CO_NAME, s.PERC_HOLD)
}

关于ios - 数组的 Club 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55792078/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com