当前位置:  开发笔记 > IOS > 正文

修改for-each循环的迭代器中的值

如何解决《修改for-each循环的迭代器中的值》经验,为你挑选了1个好方法。

我目前开始学习Swift 3(我已经有其他编程语言的经验),并问我是否可以修改for-each循环的迭代器中的值(不是for-in!).我们来看看下面的例子:

var numbers = [45000.0, 50000.0, 60000.0]

for i in 0..

在这个例子中,我可以修改数组内部的值.但是如果我想使用for-each循环:

for number in numbers {
    number = number + (number * 0.1)
}

它不会编译.是否有可能以任何其他方式修改数字的值(在我看来,这似乎是C++中的迭代器)?

谢谢你的回答!



1> Sulthan..:

您仍然在考虑旧的编程语言.现代方法是使用辅助函数一步完成所有操作,而不使用手动迭代:

let numbers = [45000.0, 50000.0, 60000.0]
let newNumbers = numbers.map { $0 + $0 * 0.1 }

请注意,我们生成了一个新数组,而不是更改现有数组.使用常量(不可变)有助于我们避免许多常见的编程错误.

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有