(二)15.map-set与数组对象的比较19-08-12

2019-08-13  本文已影响0人  你坤儿姐
{
  //数据结构横向对比
  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数据结构和一个数组
  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)
}
{
  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) {}

上一篇 下一篇

猜你喜欢

热点阅读