您可以直接使用这样的高阶函数
[1,2,3].reduce(0, +)
你得到错误,因为 X 数组为空,您正在尝试设置不存在的值。您应该首先创建该值然后将其更改为您想要的值,以这种方式更改您的方法:
X
func dosomething(y:[Int])->Int{ x = [Int]() for index in 0..<y.count{ if index==0{ x.append(0) x[index]=x[index]+y[index] i=x[index] } else{ x.append(0) x[index]=x[index-1]+y[index] i=x[index] } } return i }