当前位置: 代码迷 >> 综合 >> 学习ES6(二十三) -- Maps and Sets 对比
  详细解决方案

学习ES6(二十三) -- Maps and Sets 对比

热度:15   发布时间:2023-10-24 11:27:46.0

ES6引入了两个新的数据结构-映射和集合。

Maps

映射是键值对的有序集合。map类似于对象。但是,map和对象之间存在一些差异。这些在下面列出-

Sr.No Object Map
1 键不能是对象类型 键可以是任何类型
2 键未排序 键排序
3 不可迭代 可迭代
创建map语法:let map = new Map([iterable])  let map = new Map()

map操作的常见方法-

Sr.No Object & Map
1 set(key,value)

向map对象中添加键和值

2 get(key)

通过键获取值,如果键匹配则返回值

3 has(key)

如果存在具有指定键的元素,则返回true;否则返回true。否则返回假

4  keys()

返回一个迭代器,该迭代器包含map对象中每个元素的键

5  values()

返回一个迭代器,该迭代器包含map对象中每个元素的值

6 entries()

返回一个迭代器,该迭代器包含Map中每个元素的键值对

7 delete(key)

从Map对象移除指定的元素

 Set

集合是唯一值的无序集合。该数据结构可以包含基本类型和对象类型的值。

创建一个集合语法:new Set([iterable])  new Set()

迭代集合

我们可以使用forEachfor..of循环遍历Set

<script>let names= new Set(['A','B','C','D']);//iterate using forEachconsole.log('forEach')names.forEach(n=>console.log(n))console.log('for of..')//iterate using for..offor(let n of names){console.log(n)}
</script>  

以下方法可用于操作集合-

Sr.No Object & Map
1  add(element)

将元素添加到集合中

2 has(element)

如果找到元素,则返回true;否则,返回true。否则返回假

3  delete(element)

从集合中删除指定元素

4  clear()

清除集合中的所有元素

  相关解决方案