arrays - 在 Swift 中使用 for in 循环附加数组的最佳方法是什么?

标签 arrays swift for-loop for-in-loop

我目前正在尝试通过 treehouse.com 学习如何快速编码,到目前为止我很享受。我刚刚遇到了我的第一个“代码挑战”,他们称之为我有点挣扎。正如标题所暗示的那样,以一个空数组开始:

var results: [Int] = []

这很好,花花公子。目标是然后编写一个 for in 循环,它找到数字 1-10 的 6 的倍数,然后将这些值附加到数组。我最终确实弄明白了,但我不确定我是否以理想的方式做到了。我会很感激任何批评。我的代码将包含在下面。请记住,我是 Swift 和一般编码的初学者。在此先感谢您的任何建议/提示。

var results: [Int] = []
for multiplier in 1...10 {
    let multiples = (multiplier * 6)
    print(multiples)
    results.append(multiples)
}

代码正确执行并且数组附加了值,但同样,我不确定是否有更好的方法来执行此操作。

最佳答案

对于您的第一个问题,在 for in 中是否有更好的方式或最佳方式将对象追加到数组中?循环已经由@Alexander 解释了,但是如果检查正确,他最终还是按照你正在做的方式做不同的只是他指定了数组的容量,所以你在数组中附加对象的方式看起来很完美但为此您需要编写大量代码。

现在要减少您的代码并以 Swifty 的方式完成您当前正在做的事情,您可以使用内置的 map的功能。

let result = (1...10).map { $0 * 6 }
print(result) // [6, 12, 18, 24, 30, 36, 42, 48, 54, 60]

第一个(1...10)将创建 CountableClosedRange 之后我们调用 map(_:) 关闭它。现在map将依次从这个 CountableClosedRange 中取出每个元素.所以$0将从 CountableClosedRange 中获取每个参数.现在我们将该元素乘以 6 并从闭包返回结果并根据其返回值生成结果,在这种情况下它将创建 Array。的 Int .

关于arrays - 在 Swift 中使用 for in 循环附加数组的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42407215/

相关文章:

c++ - 为什么这段代码可以运行?双 a[3]; a[1,1]=1;

ios - 无法将类型 'NSFetchRequest<NSFetchRequestResult>' 的值转换为指定类型 'NSFetchRequest<T>'

MySQL for 循环 - 插入具有相同数据、不同索引的多行

ios - 阻止父 UIControl 响应 touchDown 事件

javascript - 需要另一个帮助来动态地在屏幕上显示文本

r - 如何在R中的for循环中仅跳过特定类型的错误?

arrays - MongoError : Found multiple array filters with the same top-level field name

c++ - 在部分排序的数组中查找元素

java - 尝试求和时出错

ios - 为什么我不能访问我的 subview 的方法?