首页 > 解决方案 > Swift,带有映射/高阶函数的 for 循环表达式

问题描述

考虑以下代码: 输出是结果。

let array = [1, 5, 2]
var result = [Int]()
var stack = 0
array.forEach {
  result.append($0 + stack)
  stack += $0 + 1
}

有没有办法用 .map 或其他高阶函数编写那些?

let result = array.map { 
  // fill this up plz
}

标签: arraysswiftloops

解决方案


它可能是

let array = [1, 5, 2]
var stack = 0

let result: [Int] = array.map { 
    let res = $0 + stack
    stack += $0 + 1
    return res
}

推荐阅读