开发者社区> 问答> 正文

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

在Swift中,是否有聪明的方法在Array上使用高阶方法来返回5个第一个对象?obj-c的操作方式是保存索引,并通过循环递增数组递增索引直到索引为5并返回新数组。有没有办法做到这一点filter,map或者reduce?

展开
收起
保持可爱mmm 2020-02-06 23:12:26 3180 0
1 条回答
写回答
取消 提交回答
  • 到目前为止,获取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))

    问题来源于stack overflow

    2020-02-06 23:12:44
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
OpenStack Swift 海量小文件优化之路 立即下载
From Java/Android to Swift iOS 立即下载
Swift在Airbnb的应用实践 立即下载