前言
在日常的前端开发中,我们需要处理各种数据,如何高效地处理这些数据是我们必须掌握的技能。ECMAScript 2020引入了一些新特性,配合Map、Set、WeakMap和WeakSet可以更好地帮助我们处理数据。
Map
Map是一种集合类型,它可以存储任何类型的键值对。在ECMAScript 2020中,Map引入了一些新特性。
1. Map的初始化
Map可以通过定义一个二维数组来初始化,第一维表示键,第二维表示值。
----- --- - --- ----- ------- --- ------- -- ---
2. Map.prototype.upsert方法
在ECMAScript 2020中,Map新增了一个upsert方法,用于更新Map中的值。upsert方法接收两个参数,第一个参数表示key,第二个参数表示value。如果Map中已经有了key,则更新其对应的value,否则就添加一个新的键值对。
----- --- - --- ----- ------- --- ------- -- --- ----------------- --- -- --------------- ----------------- --- -- --------------
3. Map.prototype.deleteAll方法
在ECMAScript 2020中,Map新增了一个deleteAll方法,用于删除Map中所有键值对。
----- --- - --- ----- ------- --- ------- -- --- ---------------- -- -------
Set
Set是一种集合类型,它可以存储任何类型的数据。在ECMAScript 2020中,Set引入了一些新特性。
1. Set添加重复数据
在ECMAScript 2020中,Set可以添加重复数据,但只会保存一个。
----- --- - --- ------ ----------- ----------- ----------- -- --------------- ----------------- -- --- - -- - -
2. Set.prototype.union方法
在ECMAScript 2020中,Set新增了一个union方法,用于取两个Set集合的并集。
----- ---- - --- ------- -- ---- ----- ---- - --- ------- -- ---- ----- -------- - ----------------- ---------------------- -- --- - -- -- -- -- - -
3. Set.prototype.intersection方法
在ECMAScript 2020中,Set新增了一个intersection方法,用于取两个Set集合的交集。
----- ---- - --- ------- -- ---- ----- ---- - --- ------- -- ---- ----- --------------- - ------------------------ ----------------------------- -- --- - - -
WeakMap
WeakMap是一种集合类型,它的键只能是对象,值可以是任何类型。在ECMAScript 2020中,WeakMap引入了一些新特性。
1. WeakMap.prototype.getter/setter方法
在ECMAScript 2020中,WeakMap新增了getter/setter方法,可以对WeakMap中的键值对进行操作。
----- -- - --- ---------- ----- --- - --- ----------- --- --------------------- -- --------- ------------------- - --- -- - ------------------------- -- -
2. WeakMap.prototype.upsert方法
在ECMAScript 2020中,WeakMap新增了一个upsert方法,用于更新WeakMap中的值。upsert方法接收两个参数,第一个参数表示key,第二个参数表示value。如果WeakMap中已经有了key,则更新其对应的value,否则就添加一个新的键值对。
----- -- - --- ---------- ----- --- - --- -------------- --- -- -------------- -------------- --- -- ---------------
3. WeakMap.prototype.deleteAll方法
在ECMAScript 2020中,WeakMap新增了一个deleteAll方法,用于删除WeakMap中所有键值对。
----- -- - --- ---------- ----- ---- - --- ----- ---- - --- ------------ --- ------------ --- --------------- -- -------
WeakSet
WeakSet是一种集合类型,它的元素只能是对象。在ECMAScript 2020中,WeakSet引入了一些新特性。
1. WeakSet.prototype.upsert方法
在ECMAScript 2020中,WeakSet新增了一个upsert方法,用于更新WeakSet中的元素。upsert方法接收一个参数,表示要添加或更新的元素。
----- -- - --- ---------- ----- ---- - --- ----- ---- - --- ---------------- -- ------------ ---------------- -- ---------- ---------------- -- ------------
2. WeakSet.prototype.deleteAll方法
在ECMAScript 2020中,WeakSet新增了一个deleteAll方法,用于删除WeakSet中所有元素。
----- -- - --- ---------- ----- ---- - --- ----- ---- - --- ------------- ------------- --------------- -- ------
总结
ECMAScript 2020引入的新特性为处理数据提供了更多便利方式,通过Map、Set、WeakMap和WeakSet等集合类型,我们可以更加高效地处理各种数据。在实际开发中,我们可以根据数据类型和操作特点选择合适的集合类型,从而更好地处理数据。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/65aa7ad7add4f0e0ff4142f7