有没有办法根据索引从向量中删除项目,目前我正在使用 subvec 来分割向量并再次重新创建它。我正在寻找向量的 assoc 的反面?
subvec
可能是最好的方法。 Clojure 文档说subvec
is "O(1) 并且非常快,因为生成的向量与原始向量共享结构并且不进行修剪“。另一种方法是遍历向量并构建一个新的向量,同时跳过某些元素,这会更慢。
从向量中间删除元素并不是向量所擅长的。如果您必须经常这样做,请考虑使用哈希映射,以便您可以使用dissoc
.
See:
-
subvec http://clojuredocs.org/clojure.core/subvec at
clojuredocs.org
-
subvec https://clojure.github.io/clojure/clojure.core-api.html#clojure.core/subvec at
clojure.github.io
,官方网站指向的地方。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)