JavaScript 中的 Map 和 Set 是两种常见的数据结构,它们可以用于存储和操作数据。在 ES10(ECMAScript 2019)中,Map 和 Set 进行了一些重大改进。本文将介绍 ES10 中的 Map 和 Set,并演示如何在 JavaScript 中使用它们。
Map
Map 是一种键值对的集合,其中每个键都是唯一的。与对象不同,Map 可以使用任何类型的键和值,包括对象、字符串、数字等。在 ES10 中,Map 增加了以下方法:
1. size
size
属性返回 Map 实例中键值对的数量。
const map = new Map([ ['key1', 'value1'], ['key2', 'value2'], ['key3', 'value3'] ]); console.log(map.size); // 3
2. has
has
方法判断 Map 实例中是否存在指定键。
const map = new Map([ ['key1', 'value1'], ['key2', 'value2'], ['key3', 'value3'] ]); console.log(map.has('key1')); // true console.log(map.has('key4')); // false
3. clear
clear
方法清空 Map 实例中的所有键值对。
const map = new Map([ ['key1', 'value1'], ['key2', 'value2'], ['key3', 'value3'] ]); map.clear(); console.log(map.size); // 0
4. forEach
forEach
方法遍历 Map 实例中的所有键值对,并执行指定的操作。
-- -------------------- ---- ------- ----- --- - --- ----- -------- ---------- -------- ---------- -------- --------- --- ------------------- ---- -- - -------------------- ----------- ---
5. entries
entries
方法返回一个新的迭代器对象,该对象包含 Map 实例中所有键值对的数组。
-- -------------------- ---- ------- ----- --- - --- ----- -------- ---------- -------- ---------- -------- --------- --- ----- -------- - -------------- ----------------------------------- -- -------- --------- ----------------------------------- -- -------- --------- ----------------------------------- -- -------- ---------
Set
Set 是一种值的集合,其中每个值都是唯一的。在 ES10 中,Set 增加了以下方法:
1. size
size
属性返回 Set 实例中值的数量。
const set = new Set(['value1', 'value2', 'value3']); console.log(set.size); // 3
2. has
has
方法判断 Set 实例中是否存在指定值。
const set = new Set(['value1', 'value2', 'value3']); console.log(set.has('value1')); // true console.log(set.has('value4')); // false
3. clear
clear
方法清空 Set 实例中的所有值。
const set = new Set(['value1', 'value2', 'value3']); set.clear(); console.log(set.size); // 0
4. forEach
forEach
方法遍历 Set 实例中的所有值,并执行指定的操作。
const set = new Set(['value1', 'value2', 'value3']); set.forEach((value) => { console.log(value); });
5. entries
entries
方法返回一个新的迭代器对象,该对象包含 Set 实例中所有值的数组。
const set = new Set(['value1', 'value2', 'value3']); const iterator = set.entries(); console.log(iterator.next().value); // ['value1', 'value1'] console.log(iterator.next().value); // ['value2', 'value2'] console.log(iterator.next().value); // ['value3', 'value3']
总结
在本文中,我们介绍了 ES10 中的 Map 和 Set,并演示了如何在 JavaScript 中使用它们。Map 和 Set 是两种非常有用的数据结构,可以帮助我们更好地组织和操作数据。在实际开发中,我们可以根据需求灵活使用它们。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6615e59ed10417a2225c70c8