美文网首页
简单总结ES6的Map

简单总结ES6的Map

作者: 一点红3340 | 来源:发表于2017-07-21 17:59 被阅读0次

ES6的Map

Map结构提供了“值—值”的对应,如果需要键值对的数据结构,Map比Object更合适。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键,灵活性比较高。

let map = new Map();
let obj = {p: "Hello World"};
//新增
map.set(obj, "content")
m.get(obj) // "content"
//验证和删除操作
map.has(obj) // true
map.size(obj) // 1 -> 返回成员总数
map.clear(obj) // true清除所有成员
map.delete(obj) // true

注意点

  • 如果Map中的某一键值为对象,get的时候不能将整个对象写在里面,需要写该对象的引用,这样才是指向同一个内存地址;
  • 简单类型值只要两个值严格相等则可以像上面这样做。

遍历方法

  • map.keys()可以拿到所有的键名
  • map.values()可以拿到所有的键值
  • map.entries()返回所有成员
  • map.forEach()可以遍历所有成员,类似JS中本来就有的forEach方法:
map.forEach(function(value, key, map) {
  console.log("Key: %s, Value: %s", key, value);
});

数据结构互换

  • map转换为数组:...map即可
  • 数组转换为map,只需要将数组传入map构造函数
  • Map 转为对象:需要手动遍历转换,只有在所有键都为字符串的时候才可行
  • Map转换为JSON:可以在数组或者对象的基础上操作

相关文章

网友评论

      本文标题:简单总结ES6的Map

      本文链接:https://www.haomeiwen.com/subject/euiekxtx.html