如何在Swift中返回Array的前5个对象?
在Swift中,是否有聪明的方法在Array上使用高阶方法来返回5个第一个对象?obj-
c的实现方式是保存索引,并通过循环递增数组递增索引直到索引为5并返回新数组。有没有办法做到这一点filter
,map
或者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