![236b3018d37b4841056e363e656da76a.png](https://i-blog.csdnimg.cn/blog_migrate/3d1946cec2c8274b1c2b9a869ee2aef0.jpeg)
考核内容: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) // true
m.delete(o) // true
m.has(o) // false
上面代码使用 Map 结构的set方法,将对象o当作m的一个键,然后又使用get方法读取这个键,接着使用delete方法删除了这个键。
展示了如何向 Map 添加成员。作为构造函数,Map 也可以接受一个数组作为参数。该数组的成员是一个个表示键值对的数组
参考代码:
const map = new Map([
['name', 'shuke'],
['title', 'Author']
]);
map.size // 2
map.has('name') // true
map.get('name') // "shuke"
map.has('title') // true
map.get('title') // "Author"
答案:
C、Map结构的键名必须是引用类型
相关推荐:
前端测试题: 关于WeakSet结构,说法错误的是?
前端测试题: 关于set结构,下面说法错误的是?
前端测试题: 关于for...of的简述,说法错误的是?
前端测试题: 关于Proxy代理,下面说法错误的是?
前端测试题: 下面Symbol运算结果,结果为true的是?
前端测试题: 关于Symbol,错误的说法是?
前端测试题: 关于箭头函数的描述,错误的是?
前端测试题: 数组扩展的fill( )函数,[1,2,3].fill(4)的结果是?
前端测试题: 数组的扩展中,不属于用于数组遍历的函数的是?
企业面试题: 关于对象的Object.is函数,错误的是?
关于对象的扩展,错误的是?
企业面试题: 对前端工程师这个职位是怎么样理解的
企业面试题: 为什么要初始化CSS样式
企业面试题:CSS中 link 和@import 的区别是什么
企业面试题:position的absolute与fixed共同点与不同点
企业面试题:用css实现div在不同分辨率屏幕上下左右居中
企业面试题: 解释css sprites 如何使用?
企业面试题: 1&&2,1||2代码的输出值是?
企业面试题: cookies,sessionStorage 和 localStorage 的区别?
企业面试题: 关于JS在使用过程中 0.1+0.2!=0.3 的问题
企业面试题:js编写数组去重方法
企业面试题: 实现一个事件委托(事件代理)
企业面试题:如何显示/隐藏一个DOM元素
企业面试题:如何实现浏览器内多个标签页之间的通信
企业面试题:去除字符串空格
企业面试题:关于js闭包
企业面试题:如何实现实现1+2+......+n
企业面试题:变量作用域