Here we'll implement a for each function in our class and accept a callback that we can call on every key-value pair. Let's see how we can implement such a function −
Example
forEach(callback) { for (let prop in this.container) { // Call the callback as: callback(key, value) callback(prop, this.container[prop]); } }
You can test this using −
Example
const myMap = new MyMap(); myMap.put("key1", "value1"); myMap.put("key2", "value2"); myMap.forEach((k, v) => console.log(`Key is ${k} and value is ${v}`));
Output
This will give the output −
Key is key1 and value is value1 Key is key2 and value is value2
ES6 Maps also have a prototype method forEach that you can use similar to how we've used it here. For example,
Example
const myMap = new Map([ ["key1", "value1"], ["key2", "value2"] ]); myMap.forEach((k, v) => console.log(`Key is ${k} and value is ${v}`));
Output
This will give the output −
Key is key1 and value is value1 Key is key2 and value is value2