如何删除数组中的第一个元素并将其用作Swift中reduce函数的初始值?

时间:2014-07-30 00:49:03

标签: swift

例如,而不是:

var c = [0, 1, 2, 3]

var c0 = c[0]

dropFirst(c).reduce( c0 + 5 ) { $0 * $1 }

可以在不必存储c [0]的情况下完成同样的工作吗?

我正在寻找一行声明

1 个答案:

答案 0 :(得分:0)

dropFirst不会改变c的状态,因此无需存储c[0]

var c = [0, 1, 2, 3]

var c0 = c[0]

let a = dropFirst(c).reduce( c0 + 5 ) { $0 * $1 }

let b = dropFirst(c).reduce( c[0] + 5 ) { $0 * $1 }

a == b # True