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

prefix
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);
  1. 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
  1. 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
  1. 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