Set和Map数据结构
来源:互联网 发布:新东方在线网络课程 编辑:程序博客网 时间:2024/05/22 14:45
Set
成员的值都是唯一的
var arr = [1,2,2,2,3,4,5,5,5]var arr2 = [...new Set(arr)]arr2//[1,2,3,4,5]用于去重const s = new Set();[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));for (let i of s) { console.log(i);}// 2 3 5 4
// 例一var set = new Set([1, 2, 3, 4, 4]);[...set]// [1, 2, 3, 4]// 例二var items = new Set([1, 2, 3, 4, 5, 5, 5, 5]);items.size // 5
属性和方法
- Set.prototype.size:返回Set实例的成员总数。
- add(value):添加某个值,返回Set结构本身。
- delete(value):删除某个值,返回一个布尔值,表示删除是否成功。
- has(value):返回一个布尔值,表示该值是否为Set的成员。
- clear():清除所有成员,没有返回值。
遍历
set键名和键值是同一个值
- keys():返回键名的遍历器
- values():返回键值的遍历器
- entries():返回键值对的遍历器
- forEach():使用回调函数遍历每个成员
Map
var data = {};var element = document.getElementById('myDiv');data[element] = 'metadata';data['[object HTMLDivElement]'] // "metadata"对象的属性会转成字符串
var m = new Map();var o = {p: 'Hello World'};m.set(o, 'content')m.get(o) // "content"
- Map也可以接受一个数组作为参数。该数组的成员是一个个表示键值对的数组。
- 对键连续赋值两次,后一次的值覆盖前一次的值
var map = new Map([ ['name', '张三'], ['title', 'Author']]);map.size // 2map.has('name') // truemap.get('name') // "张三"map.has('title') // truemap.get('title') // "Author"
- 只有对同一个对象的引用,Map结构才将其视为同一个键。这一点要非常小心。
var map = new Map();map.set(['a'], 555);map.get(['a']) // undefined
实例属性和方法
- size属性
- set
- get
- has
- delete
- clear
遍历
- keys():返回键名的遍历器。
- values():返回键值的遍历器。
- entries():返回所有成员的遍历器。
- forEach():遍历Map的所有成员。
- map[Symbol.iterator] === map.entries// true
0 0
- Set和Map数据结构
- Set和Map数据结构
- Set和Map数据结构
- [数据结构]Map和Set
- Set和Map数据结构
- Set和Map数据结构
- Set和Map数据结构
- Set和Map数据结构
- ECMAScript6 Set和Map数据结构
- es6 set和map数据结构
- 自学-ES6篇-Set和Map数据结构
- ECMAScript 6之Set和Map数据结构
- ECMAScript6笔记:Set和Map数据结构
- 第十一节,Set和Map数据结构
- es6常见属性Set和Map数据结构
- ES6 -- 新的数据结构:Set和Map
- JavaScript之Set和Map数据结构
- ES6的数据结构set 和 map
- 【Python】 网易笔试编程题( 最大的奇约数)
- Java八大排序算法
- 统一社会信用代码校验python实现
- HDU
- C. Arithmetic Progression----细节题
- Set和Map数据结构
- 分布式--案例(上)
- leetcode---Odd Even Linked List
- 13种UML简介、工具及示例
- MAT函数
- opencv函数源码之直方图规定化(2)
- 41. First Missing Positive
- 算法--冒泡排序-Java实现
- 组合模式--统一区别,同样对待(结构型模式02)