利用 Map 对象的遍历方法 forEach() 遍历 Map (map用对象做key)

SEO教程9个月前发布 jdkjadmin
41 00

forEach

JavaScript 的

Map

对象允许我们使用任意值作为键来存储键值对。当我们使用对象作为键时,可以使用

forEach()

方法轻松地遍历 Map。

语法


forEach()

方法的语法如下:“`forEach(callbackFn, thisArg)“`其中:

callbackFn

是一个用于遍历 Map 中每个元素的回调函数。

thisArg

(可选)是用于指定在执行回调函数时使用的

this

值。

回调函数


forEach()

方法的回调函数接受三个参数:

value

– Map 中当前元素的值。

key

– Map中当前元素的键。

map

– 对正在被遍历的 Map 的引用。

示例

以下示例展示如何使用

forEach()

方法遍历 Map,其中键为对象:“`javascript// 使用对象作为键创建 Mapconst map = new Map();const person1 = { name: ‘John’, age: 30 };const person2 = { name: ‘Mary’, age: 25 };map.set(person1, ‘John Doe’);map.set(person2, ‘Mary Smith’);// 使用 forEach() 方法遍历 Mapmap.forEach((value, key) => {console.log(`Key: ${JSON.stringify(key)}, Value: ${value}`);});“`输出:“`Key: {“name”:”John”,”age”:30}, Value: John DoeKey: {“name”:”Mary”,”age”:25}, Value: Mary Smith“`

使用 thisArg

我们可以使用

thisArg

参数指定在执行回调函数时使用的

this

值。例如:“`javascript// 创建一个 thisArg 对象const thisArg = {prefix: ‘Key: ‘,suffix: ‘, Value: ‘};// 使用 forEach() 方法遍历 Map,并指定 thisArgmap.forEach(function (value, key) {console.log(this.prefix + JSON.stringify(key) + this.suffix + value);}, thisArg);“`输出:“`Key: {“name”:”John”,”age”:30}, Value: John DoeKey: {“name”:”Mary”,”age”:25}, Value: Mary Smith“`

结论


forEach()

方法提供了一种简单便捷的方式来遍历 Map,其中键为对象。通过使用

thisArg

参数,我们可以自定义回调函数中的

this

值。这使得我们可以轻松地将自定义数据和逻辑集成到遍历过程中。

chatgpt

© 版权声明

相关文章