ES8 中新的数据结构:Set 和 Map 的原型方法
在 ES8(ECMAScript 2017)中,JavaScript 引入了两个新的数据结构:Set 和 Map。这两个数据结构都有一些原型方法,可以用来操作它们的值,并且能够帮助程序员更有效地开发应用程序。
Set 实例的原型方法
Set 是一种有序的列表,其中的每个值只出现一次。Set 实例的原型方法有以下几个。
- add(value):将一个新的值添加到 Set 中。
示例代码:
let s = new Set(); s.add("apple"); s.add("banana"); s.add("orange"); console.log(s.has("apple")); // true
- delete(value):从 Set 中删除一个指定的值。
示例代码:
let s = new Set(); s.add("apple"); s.add("banana"); s.add("orange"); s.delete("banana"); console.log(s); // Set(2) ["apple", "orange"]
- has(value):用于检查 Set 中是否包含一个指定的值。
示例代码:
let s = new Set(); s.add("apple"); s.add("banana"); s.add("orange"); console.log(s.has("apple")); // true console.log(s.has("pear")); // false
- clear():用于清空 Set。
示例代码:
let s = new Set(); s.add("apple"); s.add("banana"); s.add("orange"); s.clear(); console.log(s); // Set(0) {}
Map 实例的原型方法
Map 是一种键值对的集合,其中的每个键对应一个值。Map 实例的原型方法有以下几个。
- set(key, value):将一个新的键值对添加到 Map 中。
示例代码:
let m = new Map(); m.set("apple", 1.2); m.set("banana", 0.8); m.set("orange", 1.0); console.log(m.get("apple")); // 1.2
- delete(key):从 Map 中删除一个指定的键值对。
示例代码:
let m = new Map(); m.set("apple", 1.2); m.set("banana", 0.8); m.set("orange", 1.0); m.delete("banana"); console.log(m); // Map(2) {"apple" => 1.2, "orange" => 1}
- has(key):用于检查 Map 中是否包含一个指定的键值对。
示例代码:
let m = new Map(); m.set("apple", 1.2); m.set("banana", 0.8); m.set("orange", 1.0); console.log(m.has("apple")); // true console.log(m.has("pear")); // false
- clear():用于清空 Map。
示例代码:
let m = new Map(); m.set("apple", 1.2); m.set("banana", 0.8); m.set("orange", 1.0); m.clear(); console.log(m); // Map(0) {}
结论
使用 Set 和 Map 的原型方法,可以方便地添加、删除、查找和清空数据结构。这些方法可以大大节省时间和精力,使您更有效地管理数据结构。现在的 JavaScript 应用程序可以在不同的层面上运用 Set 和 Map,从而使它们更快、更健壮,让代码变得更加简洁,同时还能更容易地维护。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/671c7e2e9babaf620fb10337