Swift 3 - 平衡数组

Swift 3 - Balancing an Array

我正在尝试平衡 swift 3 Playgrounds 中的阵列。

谁能告诉我为什么控制台为 myBalancePoint 打印 0 而不是 8,它代表 myFirstArray[4]

代码如下:

import UIKit

var divSum = Int()
var myBalancePoint = Int()
let myFirstArray = [1, 2, 5, 8, 4, 4]
divSum = myFirstArray.reduce(0, {[=11=] + }) / 2

print(divSum)

let firstPoint = myFirstArray[0]
print (firstPoint)

let secondPoint = myFirstArray[0] + myFirstArray[1]
print (secondPoint)

let thirdPoint = myFirstArray[0] + myFirstArray[1] + myFirstArray[2]
print (thirdPoint)

let fourthPoint = myFirstArray[0] + myFirstArray[1] + myFirstArray[2] + myFirstArray[3]
print (fourthPoint)

let fifthPoint = myFirstArray[0] + myFirstArray[1] + myFirstArray[2] +  myFirstArray[3] + myFirstArray[4]
print (fifthPoint)

let sixthPoint = myFirstArray[0] + myFirstArray[1] + myFirstArray[2] +  myFirstArray[3] + myFirstArray[4] + myFirstArray[5]
print (sixthPoint)


if fourthPoint > divSum {
    let myBalancePoint = myFirstArray[4]
}
print (myBalancePoint)

尝试

if fourthPoint > divSum {
     myBalancePoint = myFirstArray[4]
}
print (myBalancePoint)

在 if 条件作用域中,您定义了一个新常量 let myBalancePoint,因此 var myBalancePoint = Int() 的值不会被更改。