Skip to content

Dict Methods

This content is for v0.7. Switch to the latest version for up-to-date documentation.

Methods available on dict values (#{}).

MethodDescription
get(key)Get value by key, returns nul if missing
set(key, value)Set key-value pair (mutates), returns dict
remove(key)Remove key (mutates), returns removed value
contains_key(key)Check if key exists
length()Number of key-value pairs
keys()Array of all keys
values()Array of all values
entries()Array of [key, value] pairs
merge(other)Return new dict with other merged in
map(fn(key, val))Return new dict with function applied to values
filter(fn(key, val))Return new dict keeping entries where function is truthy
reduce(fn(acc, key, val), init)Fold dict to single value
iter()Create iterator over keys
let d = #{"name": "Resonon", "version": 1};
// Access
d.get("name"); // "Resonon"
d.get("missing"); // nul
d.contains_key("name"); // true
d.length(); // 2
// Mutation (in-place)
d.set("year", 2026); // Returns d for chaining
d.remove("version"); // Returns removed value
// Collections
d.keys(); // #["name", "year"]
d.values(); // #["Resonon", 2026]
d.entries(); // #[["name", "Resonon"], ["year", 2026]]
// Functional
d.merge(#{"extra": true});
d.map(fn(k, v) { return v; });
d.filter(fn(k, v) { return type(v) == "Number"; });
d.reduce(fn(acc, k, v) { return acc + 1; }, 0);