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

按索引过滤数组

东门仲卿
2023-03-14
问题内容

我有一系列元素。我还有一个IndexSet,它指定需要将数组的哪些索引提取到新数组中。例如:

let array = ["sun", "moon", "star", "meteor"]
let indexSet: IndexSet = [2, 3]
// Some magic happens here to get:
let result = ["star", "meteor"]

我正在寻找使用swift filter函数的方法,但是还没有答案。我怎样才能做到这一点?


问题答案:

IndexSet是递增整数的集合,因此可以 每个索引 映射 到相应的数组元素:

let array = ["sun", "moon", "star", "meteor"]
let indexSet: IndexSet = [2, 3]

let result = indexSet.map { array[$0] } // Magic happening here!
print(result) // ["star", "meteor"]

假定所有索引对于给定数组均有效。如果不能保证,则可以过滤索引(如@dfri正确标记):

let result = indexSet.filteredIndexSet { $0 < array.count }.map { array[$0] }


 类似资料:
  • 问题内容: 在Python中,我有一个元素列表和一个索引列表。我有什么办法可以立即检索其中的值作为索引的所有那些项? 例: 问题答案: 我不知道有什么方法可以做。但是您可以使用列表理解:

  • 问题内容: Swift 3支持像这样的功能吗? 如果没有,最有效的逻辑是什么? 问题答案: 您可以为数组创建自己的扩展名。 您可以这样称呼它

  • 问题内容: 是否可以对结果进行分组,然后按组中的行数进行过滤? 像这样: 问题答案: 您想使用HAVING来过滤聚合函数。

  • 问题内容: let items: [String] = [“A”, “B”, “A”, “C”, “A”, “D”] Swift 3支持像这样的功能吗? 如果没有,最有效的逻辑是什么? 问题答案: 您可以为数组创建自己的扩展名。 您可以这样称呼它

  • 本文向大家介绍详解SQL Server的聚焦过滤索引,包括了详解SQL Server的聚焦过滤索引的使用技巧和注意事项,需要的朋友参考一下 前言 这一节我们还是继续讲讲索引知识,前面我们聚集索引、非聚集索引以及覆盖索引等,在这其中还有一个过滤索引,通过索引过滤我们也能提高查询性能,简短的内容,深入的理解。 过滤索引,在查询条件上创建非聚集索引(1) 过滤索引是SQL 2008的新特性,被应用在表中

  • 问题内容: 我正在寻找一种简洁的方法来过滤特定索引处的列表中的项目。我的示例输入如下所示: 我想在指标筛选出的项目,,,。我有一个for循环,它跳过与索引匹配的项目,但我希望可以有一种使用流的简单方法。最终结果将如下所示: 问题答案: 您可以生成一个模拟原始列表的索引,然后删除列表中的索引,然后将这些索引映射到列表中的相应元素(一种更好的方法是使用for索引,因为它们是唯一的定义,以便进行恒定时间