程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了从 ForEach 循环创建数组大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决从 ForEach 循环创建数组?

开发过程中遇到从 ForEach 循环创建数组的问题如何解决?下面主要结合日常开发的经验,给出你关于从 ForEach 循环创建数组的解决方法建议,希望对你解决从 ForEach 循环创建数组有所启发或帮助;

我想从 JsON 数据而不是下面的硬编码数据创建一个新数组

let data: [DataPoint] = [
    .init(value: 20,label: "1"),.init(value: 30,label: "2")
]
            
barChart(dataPoints: data))

使用 ForEach 循环从 Json 中检索每个数据,但我不想为每个数据生成多个条形图

let newArraydata: [DataPoint]

ForEach(Json.data){ chart in
    let data: [DataPoint] = [
       .init(value: Double(chart.value),label: chart.label)
    ]

    // barChart(dataPoints: data))
}

barChart(dataPoints: newArraydata))

预期的数组输出

[
    .init(value: 20,label: "2")
]

如何使用 ForEach 循环创建新数组以填充图表数据

解决方法

试试这个游乐场:

import UIKit

let jsonStr = """
[
    {
        "value": 20,"label": "1"
    },{
        "value": 30,"label": "2"
    }
]
"""

struct DataPoint: Codable {
    let value: Int
    let label: String
}

let jsonData = jsonStr.data(using:.utf8)!

do {
    let points = try JSONDecoder().decode([DataPoint].self,from: jsonData)
    print(points)
} catch {
    print(error)
}

这向您展示了如何将您的 JSON 正确解析为 DataPoint 数组,我想您可以轻松地将其转换为 BarChart。符合 Codable 真的没问题,这是快速解析 JSON 的 Swift 方式(顺便说一句,错误消息非常好)。

,

你应该能够做到:

BarChart(dataPoints: json.data))

大佬总结

以上是大佬教程为你收集整理的从 ForEach 循环创建数组全部内容,希望文章能够帮你解决从 ForEach 循环创建数组所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。