这必须是一个非常基本的问题。在R之类的语言中,您可以采用数组(此处为swift语法)
let x = [1,2,3,4,5]
并使用索引数组提取多个元素。那就是我希望能够做类似说的事情(现在使用伪Swift语法,因为它无法解析)
x[[0,2,3]]
获得
的返回值[1,3,4]
,但这在Swift中不直接起作用。有这样做的标准方法吗?我目前正在使用Swift4。
答案 0 :(得分:0)
我不知道Swift Array
类中内置的任何功能。
一种可能的解决方案是定义Array
的扩展名,该扩展名过滤数组以仅包括提供的索引处的元素。
extension Array {
func elements(at indices: [Int]) -> Array<Element> {
return self.enumerated().filter { indices.contains($0.0) }.map { $0.1 }
}
}
用法示例:
let x = [1,2,3,4,5]
let res = x.elements(at: [0,2,3])
print(res)
输出:
[1、3、4]