在Swift中减少– Khoa Nguyen –中

减少Swift

版本:Swift 3

您可以使用reduce组合集合中的所有项目(Array或Dictionary)以创建一个新值。

让我们看一下带有两个参数的reduce方法:initialResult和Combine闭包。

这是我们使用这种方法的方式:

如果您觉得很难记住,请使用以下解决方案:

它也适用于简短版本:

当我们使用循环而不是reduce:

您将看到使用函数式编程(在这种情况下,使用reduce )带来的更复杂的问题。

问题 :我有一个Product数组,每个元素都有3个属性:名称,价格,availableAmount。 我如何计算总价格和总可用量与reduce这个数组的所有元素?

在这种情况下,我使用Tuple作为初始值和返回类型

结果:

提示:如果您发现难以理解使用Tuple,进行reduce Tuple,回顾这张图片。

您可以使用循环重写此逻辑,并查看有多少行代码。 我并不是说您用更少的代码会看起来更加专业。 但事实是,您将提高工作效率并节省大量时间。

你喜欢这篇文章? 请分享!

懒输入代码-> Github上的Swift教程