数据结构:栈(括号操作,先进后出)队列(先进先出)
数组也是一种数据结构,(有序的地址存储)
对象的结构(key:value)
数组去重:arr =[1,'1',1,{}];(怎么实现去重,普通的去重方法不在适用)
es6新的数据结构:Map 和 Set
Map 是字典 加强的对象 ,若干键值对的集合
map的便利性(字符串1就是字符串 没有类型转换)
map.set('1','byf') //字符串 1 为属性名 字符串byf为属性值(key为'1', value为'byf')
map.get('1') //取出对应字符串为 1 的属性值
map.has('1') //判断当前的map结构有没有这个key(判断时不会有类型转换)
map.delete('1') //删除key '1'
map.clear() //清空map对象
map.forEach(value,key,map) // 遍历map
hash 算法:高速存取,不可逆性
散列表,它是基于高速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构能够理解为一个线性表,可是当中的元素不是紧密排列的,而是可能存在空隙。
手写map结构: