Skip to content

setPath$

Subhajit Sahu edited this page Feb 3, 2021 · 10 revisions

Sets value at path in a nested map. 📦 😺 🏃 📼 🌔 📜 📰 📘

Alternatives: set, set$, setPath$.
Similar: hasPath, getPath, setPath$, removePath$.
Similar: get, set, remove.


map.setPath$(x, p, v);
// x: a nested map (updated)
// p: path
// v: value
// → x
const map = require("extra-map");

var x = new Map([["a", 2], ["b", 4], ["c", 6]]);
var y = new Map([["x", x], ["e", 10], ["f", 12]]);
map.setPath$(y, ["e"], 100);
// Map(3) {
//   "x" => Map(3) { "a" => 2, "b" => 4, "c" => 6 },
//   "e" => 100,
//   "f" => 12
// }

y;
// Map(3) {
//   "x" => Map(3) { "a" => 2, "b" => 4, "c" => 6 },
//   "e" => 100,
//   "f" => 12
// }

map.setPath$(y, ["x", "b"], 40);
// Map(3) {
//   "x" => Map(3) { "a" => 2, "b" => 40, "c" => 6 },
//   "e" => 100,
//   "f" => 12
// }

map.setPath$(y, ["x", "b", "c"], 60);
// Map(3) {  (no effect)
//   "x" => Map(3) { "a" => 2, "b" => 40, "c" => 6 },
//   "e" => 100,
//   "f" => 12
// }


References

Clone this wiki locally