You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
1.1 KiB
74 lines
1.1 KiB
= 集合操作
|
|
|
|
== Map
|
|
[source,javaScript]
|
|
----
|
|
# 创建实例
|
|
let map = new Map();
|
|
let map2 =new Map([
|
|
['A',1],
|
|
['B',2]
|
|
]);
|
|
|
|
# 添加 key-value
|
|
map.set('A',1);
|
|
|
|
map2.set('C',3)
|
|
.set('D',4);
|
|
|
|
# 通过 key 获取值
|
|
map.get('A');
|
|
|
|
# 是否存在
|
|
map.has('A');
|
|
|
|
# 删除
|
|
map.delete('A');
|
|
|
|
# 获取 size
|
|
let size =map.size;
|
|
|
|
# 清空数据
|
|
map.clear();
|
|
|
|
# 使用 keys() 遍历
|
|
for (let key of map.keys()) {
|
|
console.log(key);
|
|
}
|
|
|
|
# 使用 values() 遍历
|
|
for (let value of map.values()) {
|
|
console.log(value);
|
|
}
|
|
|
|
# 同时遍历
|
|
for (let [key, value] of map) {
|
|
console.log(key, value);
|
|
}
|
|
|
|
#
|
|
----
|
|
|
|
== Set 常用方法
|
|
|
|
[source,javaScript]
|
|
----
|
|
// 数组去重
|
|
var mySet = new Set([1, 2, 3, 4, 4]);
|
|
[...mySet]; // [1, 2, 3, 4]
|
|
|
|
// 并集
|
|
var a = new Set([1, 2, 3]);
|
|
var b = new Set([4, 3, 2]);
|
|
var union = new Set([...a, ...b]); // {1, 2, 3, 4}
|
|
|
|
// 交集
|
|
var a = new Set([1, 2, 3]);
|
|
var b = new Set([4, 3, 2]);
|
|
var intersect = new Set([...a].filter(x => b.has(x))); // {2, 3}
|
|
|
|
// 差集
|
|
var a = new Set([1, 2, 3]);
|
|
var b = new Set([4, 3, 2]);
|
|
var difference = new Set([...a].filter(x => !b.has(x))); // {1}
|
|
----
|