📅  最后修改于: 2023-12-03 14:41:00.935000             🧑  作者: Mango
在ES6中,新增了很多关于地图和集合的操作方法,使得我们在开发中更加方便快捷地进行数据处理。
地图是一种key/value的数据结构,ES6中提供的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可以使用以下方法:
keys()
: 返回所有的键值keyvalues()
: 返回所有的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是一种没有重复元素的集合,ES6中提供的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可以使用以下方法:
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);
})