Set、Map
<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>