在 ECMAScript 2020 中,Set 和 Map 是两个新的内置对象,用于管理数据集合。
Set 集合
Set 集合是一组唯一值的集合,允许添加、删除、查找和迭代元素。它的方法遵循以下语法:
new Set([iterable])
其中可选参数 iterable 是迭代器对象,可以是任意类型的。
添加元素
可以通过以下方法向 Set 集合中添加元素:
add(value)
:将 value 添加到集合中,返回集合本身。
例如:
const set = new Set(); set.add(1).add(2).add(3); // Set { 1, 2, 3 }
删除元素
可以通过以下方法从 Set 集合中删除元素:
delete(value)
:删除集合中的 value,返回一个布尔值表示是否删除成功。
例如:
const set = new Set([1, 2, 3]); set.delete(2); // true
查找元素
可以通过以下方法查找 Set 集合中的元素:
has(value)
:返回一个布尔值,表示集合是否包含 value。
例如:
const set = new Set([1, 2, 3]); set.has(2); // true
迭代元素
可以通过以下方法迭代 Set 集合中的元素:
keys()
:返回一个包含集合所有元素的迭代器对象。values()
:与 keys() 方法相同,返回一个包含集合所有元素的迭代器对象。entries()
:返回一个包含集合所有元素的迭代器对象,其中每个元素都是一个数组[value, value]
。forEach()
:遍历所有元素并执行给定的回调函数。
例如:
-- -------------------- ---- ------- ----- --- - --- ------- -- ---- -- ------ ----------------- -- - ------------------- --- -- ------- ----- -------- - -------------- --- ---- ------- -- --------- - --------------------- -展开代码
Map 集合
Map 集合是一组键值对的集合,允许添加、删除、查找和迭代元素。它的方法遵循以下语法:
new Map([iterable])
其中可选参数 iterable 是迭代器对象,可以是任意类型的。
添加元素
可以通过以下方法向 Map 集合中添加元素:
set(key, value)
:将 key 和 value 添加到集合中,返回集合本身。
例如:
const map = new Map(); map.set('name', 'Tom').set('age', 18); // Map { 'name' => 'Tom', 'age' => 18 }
删除元素
可以通过以下方法从 Map 集合中删除元素:
delete(key)
:删除集合中的 key,返回一个布尔值表示是否删除成功。
例如:
const map = new Map([ ['name', 'Tom'], ['age', 18], ]); map.delete('age'); // true
查找元素
可以通过以下方法查找 Map 集合中的元素:
get(key)
:返回 key 对应的 value,如果不存在则返回 undefined。has(key)
:返回一个布尔值,表示集合是否包含 key。
例如:
const map = new Map([ ['name', 'Tom'], ['age', 18], ]); map.get('name'); // 'Tom' map.has('age'); // true
迭代元素
可以通过以下方法迭代 Map 集合中的元素:
keys()
:返回一个包含集合所有键的迭代器对象。values()
:返回一个包含集合所有值的迭代器对象。entries()
:返回一个包含集合所有键值对的迭代器对象。forEach()
:遍历所有键值对并执行给定的回调函数。
例如:
-- -------------------- ---- ------- ----- --- - --- ----- -------- ------- ------- ---- --- -- ------- ------------------- ---- -- - -------------------- ----------- --- -- ------- ----- -------- - -------------- --- ---- ------- -- --------- - --------------------- -展开代码
总结
Set 和 Map 集合是管理数据集合的有用工具,可以大幅简化相关操作。熟练掌握它们的方法能为前端开发提高效率和质量。
示例代码:
-- -------------------- ---- ------- -- --- ---- ----- --- - --- ------ ------------------------- -- --- - -- -- - - -------------- -- ---- ----------- -- ----- ----------------- -- - ------------------- --- ----- -------- - -------------- --- ---- ------- -- --------- - --------------------- - -- --- ---- ----- --- - --- ------ --------------- ----------------- ---- -- --- - ------ -- ------ ----- -- -- - ------------------ -- ---- ---------------- -- ----- --------------- -- ----- ------------------- ---- -- - -------------------- ----------- --- ----- -------- - -------------- --- ---- ------- -- --------- - --------------------- -展开代码
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6528346d7d4982a6ebab739a