复制或合并map
2024-10-09 07:24:49
1.map之间实现复制或合并
{ // Map 能像数组一样被复制:
let original = new Map([
[1, 'tom']
]);
let clone = new Map(original);
console.log(clone); // Map(1) {1 => "tom"}
console.log(clone.get(1)); // tom
console.log(clone === original); // false 浅copy 数据本身未被克隆
} { // Map对象间可以进行合并,但是会保持键的唯一性。
let test = {name: 'jack', age: 20};
let one = new Map([
["a", "tom"],
["b", "jack"],
["c", test],
]);
let two = new Map([
['a', 'undo'],
["b", "home"]
]); // 合并两个Map对象时,如果有重复的键值,则后面的会覆盖前面的。
// 展开运算符本质上是将Map对象转换成数组。
let merged = new Map([...one, ...two]); console.log(merged); // Map(3) {"a" => "undo", "b" => "home", "c" => {…}}
} { // Map对象也能与数组合并:
let one = new Map([
["a", "tom"],
["b", "jerry"],
["c", "dog"]
]);
let two = new Map([
["a", 'how'],
["b", 'are']
]);
// Map对象同数组进行合并时,如果有重复的键值,则后面的会覆盖前面的。
let merged = new Map([...one, ...two, ["a", "YOU"]]);
console.log(merged); // Map(3) {"a" => "YOU", "b" => "are", "c" => "dog"}
}
2.map与数组的关系
var kvArr = [["key1", "value1"], ["key2", "value2"]]; // 使用常规的Map构造函数可以将一个二维键值对数组转换成一个Map对象
var map = new Map(kvArr); console.log(map.get("key1")); // value1
console.log(map.get("key2")); // value2
3.备注
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Map
最新文章
- Odoo 二次开发教程(三)-第一个Model及Form、Tree视图
- thinkphp查询
- 用JDBC访问MySQL
- jsp_数据库的连接
- TCP digest
- cdoj 1252 24点游戏 dfs
- wcf简单的创建和运用
- 1008 Gnome Tetravex
- Domain Model(领域模型)
- Python将列表中的string元素进行类型转换
- 用Replace Pioneer 提取正则内容
- RPC远程过程调用机制底层原理
- 水流(water)
- Swift 2.0 自定义cell和不同风格的cell
- python实现TCP/UDP通信
- [运维工具]linux下远程桌面rdesktop安装和使用
- struts2_struts2基本配置
- Lucene的简单用法
- 如何测试连接MsSQL数据库-------UDL文件
- 【强大美观易用的图像编辑器】Pixelmator Pro 1.2 for Mac
热门文章
- maven 3.2.5 的安装及简单示例
- vuex使用mapActions报错解决办法
- jQuery插件--图片文字向上向左循环滚动
- Javascript-- jQuery样式篇(二)
- 素数环:NYOJ--488--dfs||hdu-1016-Prime Ring Problem
- COM组件的集合与包容
- poj3630 Phone List (trie树模板题)
- python字符串替换之re.sub()
- [Luogu3960][NOIP2017]列队
- 汇编题目:在DOS下,按F1键后改变当前屏幕的显示颜色