I am trying out some typescript idioms as described in the answers to this SO question (Iterating over Typescript Map) in Codepen.
Here is my code.
class KeyType {
style: number;
constructor(style) {
this.style = style;
};
}
function test() {
const someMap = new Map<KeyType, number>();
someMap.set(new KeyType(style=199), 5);
someMap.set(new KeyType(style=67), 90);
console.log('test of 1')
for (let [k, m] of someMap) {
console.log(`1 k ${k} m ${m}`);
}
console.log('test of 2')
for (let [k, m] of someMap.entries()) {
console.log(`2 k ${k} m ${m}`);
}
console.log('test Object entries')
for (let [k, m] of Object.entries(someMap)) {
console.log(`3 k ${k} m ${m}`);
}
console.log('for each')
someMap.forEach((v, id) => console.log(`3 v ${v} id ${id}`))
Array.from(someMap.entries()).forEach(entry =>
console.log(`4 k ${entry[0].style} m ${entry[1]}`)
)
const ar = Array.from(someMap.keys());
console.log(ar[0].style);
}
What I do not understand is: all the forEach
method work as expected, but the for (let [k,m] of someMap) {...
just do not seem to work at all.
Could it be a problem with codepen's typescript configuration? Did I make any mistake with test of 1
, test of 2
and test Object entries
in the above code?
I wanted to install ts-node
to test locally but so far I have gotten another set of issues regarding its installation.