clojure:如何通过索引从向量中获取多个项目
clojure: how to get several items by index out of vector
我正在使用以下代码按 [1 2] 的索引提取数据,是否有更短的解决方案?
(vec (map #(nth ["a" "b" "c"] % ) [1 2]))
mapv
映射到向量中,向量在作为函数应用时进行索引查找
(mapv ["a" "b" "c"] [1 2])
如果你想要ONLY一个向量的第一个和第二个索引,有很多方法...
一个简单的sub vector可以用来将第一个索引持久化到第三个索引。
(subvec ["a" "b" "c"] 1 3)
您可以 map the vector 并将您的向量应用到第一个和第二个索引到 return 最后两个索引作为向量。
(mapv ["a" "b" "c"] [1 2])
使用 thread-last 宏,您可以获取 3 个索引并删除第一个。
(->> ["a" "b" "c"] (take 3) (drop 1))
如果您有一个用 n 个索引定义的向量,而您只需要最后 n 个索引,则将基数 0 删除到 return 最后 n 个。
(drop 1 ["a" "b" "c"])
我正在使用以下代码按 [1 2] 的索引提取数据,是否有更短的解决方案?
(vec (map #(nth ["a" "b" "c"] % ) [1 2]))
mapv
映射到向量中,向量在作为函数应用时进行索引查找
(mapv ["a" "b" "c"] [1 2])
如果你想要ONLY一个向量的第一个和第二个索引,有很多方法...
一个简单的sub vector可以用来将第一个索引持久化到第三个索引。
(subvec ["a" "b" "c"] 1 3)
您可以 map the vector 并将您的向量应用到第一个和第二个索引到 return 最后两个索引作为向量。
(mapv ["a" "b" "c"] [1 2])
使用 thread-last 宏,您可以获取 3 个索引并删除第一个。
(->> ["a" "b" "c"] (take 3) (drop 1))
如果您有一个用 n 个索引定义的向量,而您只需要最后 n 个索引,则将基数 0 删除到 return 最后 n 个。
(drop 1 ["a" "b" "c"])