<script>
// es6 Set对象、Map对象
// es6提供了新的数据结构set。类似于数组,但成员的值都是唯一的,没有重复的值。
// Set本身是一个构造函数,用来生成Set数据结构。
// forEach()本身是不支持continue和break语句的。
// 使用return语句实现continue关键字的效果。
// 使用return; 实现continue效果;使用return false实现break效果
const s = new Set();
[1, 2, 3, 4, 5, 1, 2].forEach(element => s.add(element));
// 通过add()向s集合添加元素,
for (let i of s) {
console.log(i);
}
//去除数组重复成员方法一
// [...new Set(array)]
// 去除字符串里面重复字符
// [...new Set('abcahbn')].join("")
// 判断一个键是否在set集合上面
// properties.has(someName)
// Array.from()方法可以将Set结构转为数组。
// 去除数组重复成员方法二
// Array.from(new Set(array))
// Set结构的实例与数组一样,也拥有forEach()方法,用于对每个成员执行某种操作,没有返回值。
let set = new Set([1, 4, 9])
set.forEach((value, key) => console.log(key + ':' + value))
// js的对象,本质上是键值对的集合,但在传统上只能用字符串当作键。使用上有一定的限制。
// Map结构提供了“值-值”的对应。是一种更完善的hash结构的实现。
// instance.set(key,value) 添加键值
// instance.get(key) 获取对应键的值
// instance.has(key) 判断是否有该key
// instance.delete(key) 删除key
// Map作为构造函数,Map可接受一个数组作为参数,该数组的成员是一个个表示键值对的数组。
const map = new Map([["name", "张三"], ["title", "Author"]])
</script>