arrays - 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
}
解决方案
它可能是
let array = [1, 5, 2]
var stack = 0
let result: [Int] = array.map {
let res = $0 + stack
stack += $0 + 1
return res
}
推荐阅读
- python - 如何在屏幕中心显示一个按钮?(不是窗口中心的屏幕。)
- python - Lambda排序:根据多个元素
- list - “错误:未绑定的变量或构造函数:False”
- c# - 我如何编码当我按下一个键时它会产生 50% 的动画发生机会?
- python - python中列表/字典理解中的错误,用于将数字转换为字符串
- angular - 带有“愚蠢”组件的 SOLID Angular 架构
- mysql - 通过更新值插入新记录或更新记录
- c# - 如何在没有 HTML 页面的情况下获得 dbcontext 访问权限?
- java - 将 ATAP(外部工具)集成到 Eclipse
- r - debian9.11安装r-base后无法访问登录界面