首页 > 解决方案 > 如何打印数组的偶数总和/平均和奇数总和/平均?

问题描述

var a = [32,37,68,66,97,38,16,86,35,58]

我想知道,如何打印偶数的 sum&average ,奇数的 sum&average

标签: swift

解决方案


如果没有扩展,那么初学者可能更容易理解,这就是我将如何做到这一点:

let oddElements = a.filter{$0 % 2 == 0}
let evenElements = a.filter{$0 % 2 != 0}

let oddElementsSum = oddElements.reduce(0, {$0 + $1})
let oddElementsAverage = oddElementsSum / oddElements.count

let evenElementsSum = evenElements.reduce(0, {$0 + $1})
let evenElementsAverage = evenElementsSum / evenElements.count

可以使 reduce 语句更短一些

let oddElementsSum = oddElements.reduce(0, {+})
let evenElementsSum = evenElements.reduce(0, {+})

然后你可以通过打印

print (oddElementsSum)
print (oddElementsAverage)
print (evenElementsSum)
print (evenElementsAverage)

推荐阅读