Arrays Swift-基于另一个名为querys的数组高效地查询一个整数数组,该数组具有第一个数组的索引

Arrays Swift-基于另一个名为querys的数组高效地查询一个整数数组,该数组具有第一个数组的索引,arrays,swift,filter,Arrays,Swift,Filter,我想基于另一个名为queries的数组高效地查询一个整数数组,该数组具有第一个数组的索引 let arrayWithData = [10, 20, 30, 15, 25, 35, 56] let queries = [2, 4, 6] 新阵列应返回: let queriedArray = [30, 25, 56] 说明: 30是包含数据的数组的索引2 25是包含数据的数组的索引4 56是arrayWithData的索引6 如何在不使用循环的情况下快速高效地实现这一点。也许可以使用map或fi

我想基于另一个名为queries的数组高效地查询一个整数数组,该数组具有第一个数组的索引

let arrayWithData = [10, 20, 30, 15, 25, 35, 56]
let queries = [2, 4, 6]
新阵列应返回:

let queriedArray = [30, 25, 56]
说明:

30是包含数据的数组的索引2

25是包含数据的数组的索引4

56是arrayWithData的索引6

如何在不使用循环的情况下快速高效地实现这一点。也许可以使用map或filter

let res = queries.compactMap { $0 < arrayWithData.count ?  arrayWithData[$0] : nil  }

endIndex将比count稍有效率:O(1)而不是O(n)
let res=querys.compactMap{$0
{arrayWithData.Indexs~=$0?arrayWithData[$0]:nil}
也可以处理数组切片
let res = queries.map{ arrayWithData[$0]}
let arrayWithData = [10, 20, 30, 15, 25, 35, 56]
let queries = [2, 4, 6]

let queriedArray = queries.map({arrayWithData[$0]}) // Your desired output