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

= 集合操作
== 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}
----