当前位置: 首页 > 面试题库 >

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

程城
2023-03-14
问题内容

在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))



 类似资料:
  • 问题内容: 我希望能够为每个菜单返回5个菜单项。我试过这几个脚本,但没有运气。这是桌子 这是我现在所拥有的。我收到以下脚本的错误消息。错误:子查询返回的行数超过1。 任何建议都非常感谢。 问题答案: 您必须为此使用副作用变量

  • 我有以下模式: 模式反映了一个事实,即我必须返回一个对象。然而,我不能总是这样做,有时我需要返回null。例如,如果我向数据库发出请求,它将返回return object或null(如果找不到用户)。 在我的GraphQL模式中,我为特定字段设置了类型。如果我试图返回一个不同于我设置的类型,我会得到一个错误。如何允许字段返回对象或null?

  • 问题内容: 基本上我想做的是返回mysql查询的结果。我知道如何将查询结果的每一行放入其自己的JSON对象中,现在我正在努力寻找一种方法,以便在有多行结果将其返回给我的jquery时使用。在我的jquery中,我调用了$ .ajax()函数,对此我没有任何问题。我的问题在于成功部分,我希望能够执行以下操作: 我希望能够像JSON对象数组一样遍历结果变量。结果变量是一个字符串,由php文件的所有输出

  • 问题内容: 我想使用经典的ASP脚本返回JSON对象(这是AJAX请求的一部分)。 如果我仅以以下形式发送回复: 这将工作,还是我实际上需要JSON库? 编辑: 我正在尝试在http://www.devbridge.com/projects/autocomplete/jquery/#howto上获取自动完成插件。 javascript: ASP: 自动完成功能不起作用。如果我使用像查找这样的本地查

  • 我现在正在学习Scala。我喜欢做的一件事是提前返回。我相信这对每个人来说都更容易理解,因为我们只是删除了之前的无效状态。现在,由于Scala是一种函数式语言,并且我读到了切割计算是糟糕的函数式风格,我想知道是否有一些技巧或函数式编程等同于早期返回。 这是我要写的代码,为了完全清楚,这只是一个愚蠢的例子,我不是在寻找我的特殊情况的特别黑客,但更多的是关于如何处理这些问题的一般建议。 现在,我想做的

  • 我使用NativeSearchQueryBuilder形成查询,如下所示: 我想返回没有某些字段的单个对象,这是异常的堆栈跟踪: