为什么ES6的Map.forEach会以' value,key'迭代。而不是'键,值'?

时间:2015-10-13 19:08:48

标签: javascript dictionary foreach ecmascript-6

MDN所示,首先使用值调用Map' s forEach回调,然后键入。 E.g:

map.forEach(function(value, key, map) { ... })

似乎key, valuevalue, key更常见。即使Map constructor也需要一组[key, value]对。

1 个答案:

答案 0 :(得分:11)

这可能仅仅是为了懒惰。大多数forEach循环只关心value本身。通过提供它作为第一个参数,您可以构造一个只接受一个参数的函数:

map.forEach(function (value) { /* do something with value */; })

而不是

map.forEach(function (unused, value) { /* do something with value */; })