javascript - 为什么 ES 6's Map.forEach iterate with ' value, key' 而不是 'key, value' ?

标签 javascript dictionary foreach ecmascript-6

MDN 所示, MapforEach 回调被调用,先是值,然后是键。例如:

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

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

最佳答案

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

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

代替

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

关于javascript - 为什么 ES 6's Map.forEach iterate with ' value, key' 而不是 'key, value' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33110709/

相关文章:

swift - 如何使用 Swift 3 访问字典值?

javascript - 将类型属性从提交更改为按钮?

javascript - 根据条件分配表格单元格颜色 - JavaScript

python - 提高函数的可读性和功能性

python - 无需循环即可替换 Pandas 列中的多个值

javascript - forEach 循环返回未定义的值

java - 为什么在此示例中我没有收到 java.util.ConcurrentModificationException?

foreach - 根据 TLD,forEach 标签的属性值无效

javascript - 像 JQuery 一样将整个代码放在一起

javascript - 如果单击“确定”按钮,则在模式关闭后执行代码