javascript map key 遍历 js map可以遍历对象吗?_js map添加元素

javascript map key 遍历 js map可以遍历对象吗?_js map添加元素_02

考核内容:Map结构的特点

题发散度: ★★

试题难度: ★

解题思路:

ES6 提供了 Map 数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需要“键值对”的数据结构,Map 比 Object 更合适。

const m = new Map();const o = {p: 'Hello World'};m.set(o, 'content')m.get(o) // "content"m.has(o) // truem.delete(o) // truem.has(o) // false

上面代码使用 Map 结构的set方法,将对象o当作m的一个键,然后又使用get方法读取这个键,接着使用delete方法删除了这个键。

展示了如何向 Map 添加成员。作为构造函数,Map 也可以接受一个数组作为参数。该数组的成员是一个个表示键值对的数组

参考代码:

const map = new Map([ ['name', 'shuke'], ['title', 'Author']]);map.size // 2map.has('name') // truemap.get('name') // "shuke"map.has('title') // truemap.get('title') // "Author"


答案

C、Map结构的键名必须是引用类型