-
map和数组的对比
{
//数据结构横向对比
let map=new Map();
let array=[];
//增
// map通过set给数据结构增加内容
map.set('t',1);
//数组是通过push
array.push({t:1});
console.info('map-array',map,array);
//查
//建一个变量表示存储,map提供一个has方法判断这个数据当前有没有这个数据项
let map_exist=map.has('t'); //这里返回一个bool值
//对于array是使用find
let array_exist=array.find(item=>item.t);
console.info('map-array',map_exist,array_exist);//这里如果存在就把这个对象返回回来
// 改
map.set('t',2);
// 对于数组而言要用ForEach
array.forEach(item=>item.t?item.t=2:'');
console.info('map-array-modify',map,array);
// 删除
map.delete('t');
let index=array.findIndex(item=>item.t);
array.splice(index,1);
console.info('map-array-empty',map,array);
}
打印结果:
屏幕快照 2019-08-12 15.05.52.png
-
set和数组的对比
{
// 新建一个set数据结构和一个数组
let set=new Set();
let array=[];
// 增
set.add({t:1});
array.push({t:1});
console.info('set-array',set,array);
// 查
let set_exist=set.has({t:1});
let array_exist=array.find(item=>item.t);
console.info('set-array',set_exist,array_exist);
// 改
set.forEach(item=>item.t?item.t=2:'');
array.forEach(item=>item.t?item.t=2:'');
console.info('set-array-modify',set,array);
// 删
set.forEach(item=>item.t?set.delete(item):'');
let index=array.findIndex(item=>item.t);
array.splice(index,1);
console.info('set-array-empty',set,array)
}
-
map set Object对比
{
let item={t:1};
let map=new Map();
let set=new Set();
let obj={};
// 增
map.set('t',1);
set.add(item);
obj['t']=1;
console.info('map-set-obj',obj,map,set);
// 查
console.info({
map_exist:map.has('t'),
set_exist:set.has(item),
obj_exist:'t' in obj
})
//改
map.set('t',2);
item.t=2;
obj['t']=2;
console.info('map-set-obj-modify',obj,map,set);
//删
map.delete('t');
set.delete(item);
delete obj['t'];
console.info('map-set-obj-empty',obj,map,set);
}
打印结果:
map-set-obj {t: 1} Map(1) {"t" => 1} Set(1) {{…}}
{map_exist: true, set_exist: true, obj_exist: true}
map-set-obj-modify {t: 2} Map(1) {"t" => 2} Set(1) {{…}}
map-set-obj-empty {} Map(0) {} Set(0) {}
网友评论