Чтобы отобразить вектор и получить вектор обратно, вы можете использовать mapv
.
Чтобы сложить вектор, вы можете использовать обычный reduce
, так как векторы можно секвенировать.
Чтобы получить индекс в итерируемой функции, есть map-indexed
или вы можете использовать (range)
:
(mapv (fn [i e] [i e]) [1 2 3] (range))
=> [[1 0] [2 1] [3 2]]