practicalli / practicalli/clojure

Transforming hash-maps

Open
#119 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Makefile
Stars
117
Forks
36
PR merge metrics
No merged PRs in 30d

Description

Given a vector of maps

[{:key "document_env", :value "teste"} {:key "document_env2", :value "teste2"}]

How can I transform into a map like this:

{"document_env" "teste" "document_env2""teste2"}

There are multiple ways to do it.

First bind the data to a name for convienience

(def data [{:key "document_env", :value "teste"} {:key "document_env2", :value "teste2"}])

Using juxt

(into {} (map (juxt :key :value) data))
{"document_env" "teste", "document_env2" "teste2"}

Using for macro

(into {} (for [m data] [(:key m) (:value m)]))
{"document_env" "teste", "document_env2" "teste2"}

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the data example and the existing juxt and for expressions in the issue body, then run them in a Clojure REPL. Done means confirming that the vector of maps produces the shown map with both key-value pairs.

Written by the indexing model from the issue text.

Assessment

Tech stack
clojure
Domain
documentation
Issue type
Documentation
Difficulty
1/5
Estimated time
Under an hour
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.