1.map之间实现复制或合并

  1. { // Map 能像数组一样被复制:
  2. let original = new Map([
  3. [1, 'tom']
  4. ]);
  5. let clone = new Map(original);
  6. console.log(clone); // Map(1) {1 => "tom"}
  7. console.log(clone.get(1)); // tom
  8. console.log(clone === original); // false 浅copy 数据本身未被克隆
  9. }
  10.  
  11. { // Map对象间可以进行合并,但是会保持键的唯一性。
  12. let test = {name: 'jack', age: 20};
  13. let one = new Map([
  14. ["a", "tom"],
  15. ["b", "jack"],
  16. ["c", test],
  17. ]);
  18. let two = new Map([
  19. ['a', 'undo'],
  20. ["b", "home"]
  21. ]);
  22.  
  23. // 合并两个Map对象时,如果有重复的键值,则后面的会覆盖前面的。
  24. // 展开运算符本质上是将Map对象转换成数组。
  25. let merged = new Map([...one, ...two]);
  26.  
  27. console.log(merged); // Map(3) {"a" => "undo", "b" => "home", "c" => {…}}
  28. }
  29.  
  30. { // Map对象也能与数组合并:
  31. let one = new Map([
  32. ["a", "tom"],
  33. ["b", "jerry"],
  34. ["c", "dog"]
  35. ]);
  36. let two = new Map([
  37. ["a", 'how'],
  38. ["b", 'are']
  39. ]);
  40. // Map对象同数组进行合并时,如果有重复的键值,则后面的会覆盖前面的。
  41. let merged = new Map([...one, ...two, ["a", "YOU"]]);
  42. console.log(merged); // Map(3) {"a" => "YOU", "b" => "are", "c" => "dog"}
  43. }

2.map与数组的关系

  1. var kvArr = [["key1", "value1"], ["key2", "value2"]];
  2.  
  3. // 使用常规的Map构造函数可以将一个二维键值对数组转换成一个Map对象
  4. var map = new Map(kvArr);
  5.  
  6. console.log(map.get("key1")); // value1
  7. console.log(map.get("key2")); // value2

3.备注

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Map

复制或合并map的更多相关文章

  1. Educational Codeforces Round 2 E. Lomsat gelral 启发式合并map

    E. Lomsat gelral Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/600/prob ...

  2. Codeforces 600 E. Lomsat gelral (dfs启发式合并map)

    题目链接:http://codeforces.com/contest/600/problem/E 给你一棵树,告诉你每个节点的颜色,问你以每个节点为根的子树中出现颜色次数最多的颜色编号和是多少. 最容 ...

  3. SQL SERVER 之快照复制,事务复制,合并复制

    一.环境要求及说明 1.快照复制和事务复制是单向的(2005及以后的版本中加入了订阅端可更新的事务复制). 2.合并复制是双向的. 3.快照复制对表结构没有要求. 4.事务复制要求表有主键. 5.合并 ...

  4. CSU 1811: Tree Intersection(线段树启发式合并||map启发式合并)

    http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1811 题意:给出一棵树,每一个结点有一个颜色,然后依次删除树边,问每次删除树边之后,分开的两个 ...

  5. cmd复制移动合并文件

    1.单文件复制: (1)把c:\1.txt复制到c:\2\文件夹下 copy c:\1.txt c:\2\ (2)把c:\1.txt复制到c:\1\文件夹下,并把它修改为777.docx copy c ...

  6. Object.assign方法复制或合并对象

    Object.assign() 方法可以把任意多个的源对象自身的可枚举属性拷贝给目标对象,然后返回目标对象 var obj = { a: 1 }; var copy = Object.assign({ ...

  7. key相同合并Map

    public class Demo11 { public static void main(String[] args) { ConcurrentHashMap<Integer, Map< ...

  8. java System.arraycopy 数组复制和合并

    public class Test { public static void main(String[] args) { Integer[] a = {1,2,3}; Integer[] b = {4 ...

  9. SQL Server 合并复制遇到identity range check报错的解决

        最近帮一个客户搭建跨洋的合并复制,由于数据库非常大,跨洋网络条件不稳定,因此只能通过备份初始化,在初始化完成后向海外订阅端插入数据时发现报出如下错误: Msg 548, Level 16, S ...

随机推荐

  1. java中properties

    一.Java Properties类 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置 ...

  2. 未测试 Delphi读写UTF-8、Unicode格式文本文件

    // UTF-8文件写入函数 procedure SaveUTFFile(const FileName: string; S: string; WriteHeader: Boolean = True) ...

  3. openlayers 3加载GeoServer发布的wfs类型服务

    转:https://blog.csdn.net/u013323965/article/details/52449502 问题产生:      openlayer3加载WFS存在跨域问题,需要用json ...

  4. 【leetcode刷题笔记】Valid Palindrome

    Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignori ...

  5. Agc019_F Yes or No

    传送门 题目大意 有若干道判断题,其中有$n$道答案是$Yes$,另外$m$道答案是$No$,问题除了答案差异本质相同.这些题一道都不会做,但是事先知道$n$和$m$的数量.每次机器会事先等概率地排列 ...

  6. UVA11059 - Maximum Product

    1.题目名称 Maximum Product 2.题目地址 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemi ...

  7. Java中Calendar常用方法总结

    //获取当前时刻yyyy-MM-dd HH:mm:ss Calendar calendar = Calendar.getInstance(); SimpleDateFormat sdf = new S ...

  8. 三、使用maven创建scala工程(scala和java混一起)

    本文先叙述如何配置eclipse中maven+scala的开发环境,之后,叙述如何实现spark的本地运行.最后,成功运行scala编写的spark程序. 刚开始我的eclipse+maven环境是配 ...

  9. php命名空间(namespace)内如何使用系统类

    作者:ffsystem 使用命名空间,可以更方便的组织代码,以及代码复用.新写的一个项目引入了命名空间. 简介:使用namespace,使用__autoload自动导入类. 今天将以前的一段代码,加入 ...

  10. 十六、xx.xx.xx格式版本号大小比较

    DELIMITER $$ USE `deshangshidai`$$ DROP FUNCTION IF EXISTS `STRCMP_MY_VERSION`$$ CREATE DEFINER=`roo ...