数据分为有序和无序,一般来说,无序查找效率高于有序。但有些场景只能用有序。
二叉树是有序的,但同时查找效率很高,js新增的Map结构背后就是根据二叉树设计的。
Map的特点是有序,且查找效率高。
定义一个Map的方法
const _data = new Map([['key1','value1'],['key2','value2'],['key3','value3']])
常用的api
// 修改key值
_data.set('key1','new value1')
// 获取某个key
_data.get('key1')
// 删除某个key
_data.delete('key2')
// 获取全部key
_data.keys()
// 获取全部value
_data.values()
// 清空全部key
_data.clear()
// 是否存在某个key
_data.has('key3')
Map的key可以是任意类型的数据,而Object的key只能是字符串。
Set是无序结构。
set常用的api
const _set = new Set([10,20,30,40])
_set.add(60)
_set.delete(20)
_set.has(30) // true
_set.keys()
_set.values()