如何对从JSON数组中提取的quiz_user_marks数值数组求和
Double类型数组求和实现方案
你已经完成了quiz_user_marks字段的提取,得到了元素为Double类型的数组,直接调用Swift标准库的内置能力就能完成求和,不需要自己写循环遍历累加,具体有两种可直接使用的写法:
- 全版本兼容的通用写法:用
reduce方法做累加,代码片段为:let totalMarks = array.reduce(0, +)
这个写法没有任何版本兼容问题,逻辑是从初始值0开始,逐一把数组里的元素和当前累加值相加,最终输出整个数组的元素总和。 - 高版本简化写法(Swift 5.7及以上):针对所有符合数字协议的数组元素,可以直接调用内置的sum方法,代码片段为:
let totalMarks = array.sum()
按照你给出的示例JSON数据,提取得到的marks数组为[4.0, -1.33],运行上述代码得到的求和结果为2.67,和手动计算的结果完全一致。
注意:最终的求和结果会和你提取阶段的转换逻辑保持一致——如果某条数据的
quiz_user_marks字段值无法被解析为数字,doublevalue返回的默认0值也会被纳入总和计算范围。
内容的提问来源于stack exchange,提问作者vigneshwaran IT dept
相关产品推荐
相关产品推荐

