array 与 set map比较
Map与Array对比
let Map = new Map();
let array = [];
--------增--------
map.set('t',1);
array.push({t:1})
--------查--------
let map_exist = map.has('t') //返回Boolean
let arr_exist = array.find(item => item.t) //返回值
--------改--------
map.set('t',2);
array.forEach((item) => {
item.t ? item.t=2 : '' ;
});
--------删--------
map.delect('t');
let index = array.findIndex(item => item.t);
array.splice(index,1);
======================
Set与Array对比
let set = new Set();
let array = [];
--------增--------
set.add({t:1});
array.push({t:1});
--------查--------
let set_exist = set.has({t:1}); //查询之前要先保存成对象,查地址
let arr_exist = array.find(item => item.t) //返回值
--------改--------
set.forEach(item => item.t ? item.t=2 : '' ); //如果是object先保存,然后修改对象
array.forEach(item => item.t ? item.t=2 : '' );
--------删--------
set.forEach( item => item.t ? set.delect(item) : '' )
let index = array.findIndex(item => item.t);
array.splice(index,1);
Object set map 对比
let item = {t:1};
let map = new Map();
let set = new Set();
let obj = {};
--------增--------
map.set('t',1);
set.add(item);
obj['t'] = 1;
--------查--------
map.has('t');
set.has(item);
't' in obj
--------改--------
map.set('t',2);
item.t = 2;
obj['t'] = 2;
--------删--------
map.delete('t')
set.delete(item);
delte obj('t')
数据结构,能使用map不使用数组
对数据要求高,保证每个数据的唯一性,使用set
优先使用map和set放弃传统的数组和object