首页 > 代码库 > 数据结构Set和Map
数据结构Set和Map
一、数据结构 Set
集合的基本概念:集合是由一组无序且唯一(即不能重复)的项组成的。这个数据结构使用了与有限集合相同的数学概念,应用在计算机的数据结构中。 特点:key 和 value 相同,没有重复的 value。ES6 提供了数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。
1、 如何创建一个 Set
const s = new Set([1, 2, 3]);
2、属性
console.log(s.size); // 3
3、Set 类的方法
--set.add(value) 添加一个数据,返回Set结构本身。
s.add(‘a‘).add(‘b‘).add(‘c‘);
--set.delete(value) 删除指定数据,返回一个布尔值,表示删除是否成功。
console.log(s.delete(‘a‘));
--set.has(value) 判断该值是否为Set的成员,反回一个布尔值。
--set.clear() 清除所有数据,没有返回值。
--keys() 返回键名的遍历器
--values() 返回键值的遍历器
--entries() 返回键值对的遍历器
--forEach() 使用回调函数遍历每个成员
4、用途
--数组去重
[...new Set(array)]
二、数据结构 Map
字典:是用来存储不重复key的Hash结构。不同于集合(Set)的是,字典使用的是[键,值]的形式来储存数据的。 JavaScript 的对象(Object:{})只能用字符串当作键。这给它的使用带来了很大的限制。 为了解决这个问题,ES6提供了Map数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object结构提供了“字符串—值”的对应,Map结构提供了“值—值”的对应,是一种更完善的Hash结构实现。如果你需要“键值对”的数据结构,Map比Object更合适。
1 、如何创建一个 Map
const map = new Map([ [‘a‘, 1], [‘b‘, 2] ]); console.log(map);
2、 Map 类的属性
console.log(map.size);
3、Map 类的方法
--set(key, value) 设置键名key对应的键值为value,然后返回整个 Map 结构。如果key已经有值,则键值会被更新,否则就新生成该键。
map.set(‘hello‘, ‘wolrd‘).set(‘new‘, ‘fq‘).set(‘share‘, ‘jay‘);
--get(key) get方法读取key对应的键值,如果找不到 key,返回undefined。
console.log(map.get(‘new‘));
-- delete(key) 删除某个键,返回true。如果删除失败,返回false。
console.log(map.delete(‘a‘));
--has(key) 方法返回一个布尔值,表示某个键是否在当前Map对象之中。
console.log(map.has(‘miaov‘));
-- clear() 清除所有数据,没有返回值。
map.clear();
-- keys() 返回键名的遍历器
console.log(map.keys());
-- values() 返回键值的遍历器
console.log(map.values());
-- entries() 返回键值对的遍历器
console.log(map.entries());
-- forEach() 使用回调函数遍历每个成员
map.forEach(function (key, value, map){ console.log(key + ‘:‘ + value); })
数据结构Set和Map
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。