📜  ES6-地图和集(1)

📅  最后修改于: 2023-12-03 14:41:00.935000             🧑  作者: Mango

ES6-地图和集

在ES6中,新增了很多关于地图和集合的操作方法,使得我们在开发中更加方便快捷地进行数据处理。

Map

地图是一种key/value的数据结构,ES6中提供的Map可以非常方便地进行数据的存储和操作。

创建Map

创建一个空的Map:

let map = new Map();

创建一个带有初始值的Map:

let map = new Map([["key1", "value1"], ["key2", "value2"]]);
增删改查

Map的基本操作方法:

  • set(key, value): 添加元素
  • get(key): 获取元素
  • has(key): 判断是否存在某个元素
  • delete(key): 删除元素
  • clear(): 删除所有元素
  • size: 返回元素数量
let map = new Map();
map.set("key1", "value1");
map.set("key2", "value2");
console.log(map.get("key1"));  // "value1"
console.log(map.has("key2"));  // true
map.delete("key2");
console.log(map.size);  // 1
map.clear();
console.log(map.size);  // 0
遍历Map

遍历Map可以使用以下方法:

  • keys(): 返回所有的键值key
  • values(): 返回所有的value值
  • entries(): 返回所有的键值对[key, value]
  • forEach(callbackFn): 遍历每个键值对
let map = new Map([["key1", "value1"], ["key2", "value2"]]);
for(let key of map.keys()) {
    console.log(key);
}
for(let value of map.values()) {
    console.log(value);
}
for(let [key, value] of map.entries()) {
    console.log(key, value);
}
map.forEach((value, key, map) => {
    console.log(key, value);
})
Set

Set是一种没有重复元素的集合,ES6中提供的Set可以很方便地处理一些数组或者对象中的元素去重操作。

创建Set

创建一个空的Set:

let set = new Set();

创建一个带有初始值的Set:

let set = new Set(["a", "b", "c"]);
增删改查

Set的基本操作方法:

  • add(value): 添加元素
  • delete(value): 删除元素
  • has(value): 判断是否存在某个元素
  • clear(): 删除所有元素
  • size: 返回元素数量
let set = new Set(["a", "b", "c"]);
set.add("d");
console.log(set.has("b"));  // true
set.delete("c");
console.log(set.size);  // 3
set.clear();
console.log(set.size);  // 0
遍历Set

遍历Set可以使用以下方法:

  • values(): 返回所有的元素值
  • entries(): 返回所有的键值对[value, value]
  • forEach(callbackFn): 遍历每个元素
let set = new Set(["a", "b", "c"]);
for(let value of set.values()) {
    console.log(value);
}
for(let [key, value] of set.entries()) {
    console.log(key, value);
}
set.forEach((value) => {
    console.log(value);
})