Я пытался вернуть true или false в зависимости от значения, присутствующего в данной хэш-карте.Я пытался использовать Reduced-KV, но это действительно не работает.
, например: {:address {:zip 411045, :city "pune"}, :coupans ["abc" "def"], :cost 200, :items [{:category "partywear", :name "shirt", :price 50.26} {:category "partywear", :name "trouser", :price 10.26}]}
Я хочу написать функцию, которая, если "items.price" = 50.26
and "items.name" = "shirt"
,, должна вернуть trueно "items.price = 10.26 and "items.name" = "shirt"
должен вернуть false.
Сначала я сглаживаю массив, а затем меняю ключ на ключ регулярного выражения (def compare_str_regex (clojure.string/replace compare_str #"\[\]" "\\\\[\\[0-9\\]+\\\\]"))
, например, для items []. price -> items [[0-9] +] .price Затем я использую Reduce-kv для итерации, но проблема в том, что он проверит все документы, которые должны использовать, и условие между двумя отправленными ключами
(reduce-kv (fn [m k v]
(if (and (re-find (re-pattern compare_str_regex ) k)
(op value v))
(reduced true)
false)) {} flat_pl_map)