//Map与Array的对比
{
let map=new Map();
let array=[];
//增
map.set('t',1);
array.push({t:1});
console.info('map-Array',map,array);
//查
let map_exist=map.has('t');
let array_exist=array.find(item=>item.t);
console.info('map-Array',map_exist,array_exist);//true,{'t':1}
//改
map.set('t',2);
array.forEach(item=>item.t?item.t=2:'')
console.info('map-Array',map,array);
//删
map.delete('t');
let index =array.findIndex(item=>item.t);
array.splice(index,1);
console.info('map-Array',map,array);
}
//Set与Array的对比
{
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);//false,{'t':1}
//改
set.forEach(item=>item.t?item.t=2:'')
array.forEach(item=>item.t?item.t=2:'')
console.info('set-Array',set,array);
//删
set.forEach(item=>item.t?set.delete(item):'')
let index =array.findIndex(item=>item.t);
array.splice(index,1);
console.info('map-Array',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(obj,map,set);
//删除
map.delete('t');
set.delete(item);
delete obj['t'];
console.info(obj,map,set) }
//开发过程中数据结构,使用map,如果考虑数据结构的唯一性用set

es6(10)--Set,Map(2)的更多相关文章

  1. es6(10)--Set,Map(1)

    //Set { let list=new Set(); list.add(5);//添加 list.add(7); //属性size就是长度 console.log('size',list.size) ...

  2. ES6学习:Map结构的目的和基本用法

    Map结构的目的和基本用法 JavaScript的对象(Object)本质上是键值对的集合(Hash结构),但是只能用字符串作为键.这给它的使用带来了很大的限制.   1 2 3 4 5 6 7 8 ...

  3. ES6 Set和Map

    一.Set遍历方法: set.key() set.values() set.entries() 二.Set例子: var s = new Set(); var arr = [1,1,2,3,6,8,8 ...

  4. ES6 Set 和 Map

    ES5 模拟Set 与 Map 集合 Set 常用于检查对象中是否存在某个键名 Map集合常被用于获取已存的信息 所有对象的属性名必须是字符串,那么必须确保每个键名都是字符串类型且在对象中是唯一的 数 ...

  5. ES6 中的 Map和Set

    集合的概念以及和数组的区别 其实数组也是集合, 只不过数组的索引是数值类型.当想用非数值类型作为索引时, 数组就无法满足需要了. 而 Map 集合可以保存多个键-值对(key-value), Set ...

  6. js ES6 Set和Map数据结构详解

    这篇文章主要介绍了ES6学习笔记之Set和Map数据结构,结合实例形式详细分析了ECMAScript中基本数据结构Set和Map的常用属性与方法的功能.用法及相关注意事项,需要的朋友可以参考下   本 ...

  7. es6 Set 和Map 数据结构

    ES6提供了新的数据结构Set,它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个数据结构,用来生成Set 数据结构. const s = new Set(); [2,3,5,4 ...

  8. ES6中的Map集合(与java里类似)

    Set类型可以用来处理列表中的值,但是不适用于处理键值对这样的信息结构.ES6也添加了Map集合来解决类似的问题 一.Map集合 JS的对象(Object),本质上是键值对的集合(Hash结构),但是 ...

  9. ES6新增的Map和WeakMap 又是什么玩意?非常详细的解释

    上一篇文章讲了set和weakSet,这节咱就讲Map和weakMap是什么?这两篇文章并没有什么联系,主要知识用法类似而已.嘿嘿,是不是感觉舒服多了. 什么是Map 介绍什么是Map,就不得不说起O ...

随机推荐

  1. Node 内存控制

    Node 只能使用部分内存,原因: node 基于 V8 构建,V8 的内存管理机制限制了内存的用量. 在实际的使用中,不小心触碰到这个内存界限,会造成进程退出. V8 是通过堆来进行内存分配的:在代 ...

  2. express 与 koa 区别

    express 与 koa 区别 区别项 express koa 中间件模型 Compress 模型 洋葱圈模型 对象个数 只有2个对象:Request 和 Response 有3个对象:Reques ...

  3. 装饰模式Decorator Pattern

    1.主要优点 装饰模式的主要优点如下: (1) 对于扩展一个对象的功能,装饰模式比继承更加灵活性,不会导致类的个数急剧增加. (3) 可以对一个对象进行多次装饰,通过使用不同的具体装饰类以及这些装饰类 ...

  4. URL编码规则

    一.问题的由来 问题:当url地址中包含&.+.%等特殊字符(主要是传递参数时,参数的内容中包含这些字符)时,地址无效.比如http://10.190.0.0:108/doc/test+des ...

  5. VNC Viewer连接打开remote display的VMware虚拟机出现闪退

    只需修改vnc option里面Advanced-->expert-->ColourLevel的值为“rgb222” or “full”即可. 说明:rgb111--8 colours,r ...

  6. logback使用介绍

    参考 https://www.cnblogs.com/warking/p/5710303.html

  7. C# 多线程控制

    C# 多线程控制 通讯 和切换   一.多线程的概念  Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程.什么是进 ...

  8. JavaScript学习总结(二、隐式类型转换、eval())

    一.(避免)隐式类型转换 console.log(false == 0);   //logs true; console.log(false === 0);   //logs false; conso ...

  9. SQL 行列转置

    ),),[Score] int) Insert Class union all union all union all union all union all union all union all ...

  10. WebGL和ThreeJs学习5--ThreeJS基本功能控件

      Threejs 2017年6月6日 15:06 Stats: new Stats();性能监视器,性能测试的方法,引入 Stats.js        http://www.hewebgl.com ...