Maps and Sets
Map Entries
Turn map entries into display text.
map-entries
`Map.entries()` returns pairs in insertion order. Convert those pairs with `Array.from(...)` when array methods make the next step clearer.
Map Entries
map_entries.js
Replay: real traced execution (multi-file project)
const prefix = "A";
const names = Array.from(
new Map([
["Ada", 2],
["Bo", 3],
["Cy", 4],
]).entries()
)
.filter((entry) => entry[0].startsWith(prefix))
.map((entry) => entry[0] + ":" + entry[1])
.join(",");
console.log("prefix=" + prefix);
console.log("names=" + names);
const prefix = "B";
const names = Array.from(
new Map([
["Ada", 2],
["Bo", 3],
["Cy", 4],
]).entries()
)
.filter((entry) => entry[0].startsWith(prefix))
.map((entry) => entry[0] + ":" + entry[1])
.join(",");
console.log("prefix=" + prefix);
console.log("names=" + names);
const prefix = "C";
const names = Array.from(
new Map([
["Ada", 2],
["Bo", 3],
["Cy", 4],
]).entries()
)
.filter((entry) => entry[0].startsWith(prefix))
.map((entry) => entry[0] + ":" + entry[1])
.join(",");
console.log("prefix=" + prefix);
console.log("names=" + names);
prefix ← A, names ← Ada:2
1const prefix→ A = "A"; //@prefix="B", "C"2const names→ Ada:2 = Array.from(3 new Map([4 ["Ada", 2],5 ["Bo", 3],6 ["Cy", 4],7 ]).entries()8)9 .filter((entry) => entry[0].startsWith(prefix))10 .map((entry) => entry[0] + ":" + entry[1])11 .join(",");1213console.log("prefix=" + prefixA);14console.log("names=" + namesAda:2);outputprefix=A names=Ada:2
prefix ← B, names ← Bo:3
1const prefix→ B = "B";2const names→ Bo:3 = Array.from(3 new Map([4 ["Ada", 2],5 ["Bo", 3],6 ["Cy", 4],7 ]).entries()8)9 .filter((entry) => entry[0].startsWith(prefix))10 .map((entry) => entry[0] + ":" + entry[1])11 .join(",");1213console.log("prefix=" + prefixB);14console.log("names=" + namesBo:3);outputprefix=B names=Bo:3
prefix ← C, names ← Cy:4
1const prefix→ C = "C";2const names→ Cy:4 = Array.from(3 new Map([4 ["Ada", 2],5 ["Bo", 3],6 ["Cy", 4],7 ]).entries()8)9 .filter((entry) => entry[0].startsWith(prefix))10 .map((entry) => entry[0] + ":" + entry[1])11 .join(",");1213console.log("prefix=" + prefixC);14console.log("names=" + namesCy:4);outputprefix=C names=Cy:4