JS map forEach()

🌙
手机阅读
本文目录结构

forEach() 方法将会以插入顺序对 Map 对象中的每一个键值对执行一次参数中提供的回调函数。

语法

myMap.forEach(callback[, thisArg])

参数

callback

必要,每个元素所要执行的函数。

thisArg

可选,callback 执行时其 this 的值。

返回值

undefined.

概述

forEach 方法将对 Map 中真实存在的每一个元素执行一次参数中提供的回调函数,它不会对任何已经被删除的元素执行调用。然而,它还会对键存在而值为 undefined 的元素执行调用。

callback 函数有三个参数:

  • value - 元素的值
  • key - 元素的键
  • Map - 当前正在被遍历的对象

如果参数 forEach 带有一个 thisArg 参数,在调用的时候,这个参数将传给 callback 函数作为其 this 的值。否则,函数将默认使用 undefined 传给 callback 函数作为其 this 值。最终,这里的 this 的值将依照 [函数观测并确定 this 的相关规则] 由 callback 函数最终观察到的值决定。

forEach 函数处理的元素的范围为第一次执行 callback 函数时 Map 对象中的键值对集合。在 Map 对象调用 forEach 之后加入的元素将不会被调用 callback 函数。如果在调用 forEach 之后 Map 对象中的被改变或者删除了,它们传给 callback 函数的值将会变成 forEach 函数访问它们时的值;callback 不会访问其调用其间被删除的元素。

forEach 仅仅是对 Map 对象中的每一个元素执行一遍 callback 函数,然后直接返回 undefined

示例

打印一个 Map 对象中的元素

下面的代码在一行中打印一个 Map 对象的每一个元素:

function logMapElements(value, key, map) {
    console.log("m[" + key + "] = " + value);
}
Map([["foo", 3], ["bar", {}], ["baz", undefined]]).forEach(logMapElements);
// logs:
// "m[foo] = 3"
// "m[bar] = [object Object]"
// "m[baz] = undefined"

规范

Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)Map.prototype.forEach Standard Initial definition.

相关链接

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了