在这里,我们将为类中的每个函数实现一个,并接受一个可以在每个键值对上调用的回调。让我们看看如何实现这样的功能-
forEach(callback) { for (let prop in this.container) { //调用回调为:callback(key,value) callback(prop, this.container[prop]); } }
您可以使用以下方式进行测试:
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}`));
输出结果
这将给出输出-
Key is key1 and value is value1 Key is key2 and value is value2
ES6 Maps也有一个适用于每个方法的原型方法,您可以使用类似于我们在此使用的方法。例如,
const myMap = new Map([ ["key1", "value1"], ["key2", "value2"] ]); myMap.forEach((k, v) => console.log(`Key is ${k} and value is ${v}`));
输出结果
这将给出输出-
Key is key1 and value is value1 Key is key2 and value is value2