如何在Swift中返回Array的前5个对象?

在Swift中,是否有聪明的方法在Array上使用高阶方法来返回5个第一个对象?obj-

c的实现方式是保存索引,并通过循环递增数组递增索引直到索引为5并返回新数组。有没有办法做到这一点filtermap或者reduce

回答:

到目前为止,获取Swift数组的前N个元素的最简洁的方法是使用prefix(_ maxLength: Int)

let someArray = [1, 2, 3, 4, 5, 6, 7]

let first5 = someArray.prefix(5) // 1, 2, 3, 4, 5

这具有边界安全的好处。如果传递给您的计数prefix大于数组计数,则它将仅返回整个数组。

注意:注释中

所指出,Array.prefix实际上返回ArraySlice,而不是Array。在大多数情况下,这没有什么区别,但是如果您需要将结果分配给Array类型或将其传递给期望Array参数的方法,则需要将结果强制为Array类型:let

first5 = Array(someArray.prefix(5))

以上是 如何在Swift中返回Array的前5个对象? 的全部内容, 来源链接: utcz.com/qa/434424.html

回到顶部