ES6 引入了两种新的数据类型 Map 和 Set。它们是非常实用的数据结构,可以帮助我们更加高效地存储和操作数据。本文将详细介绍 Map 和 Set 的使用方法,包括基本操作、迭代器、属性和方法等。
Map 的使用方法
Map 是一种键值对集合,它的键和值都可以是任意类型的数据。Map 的主要操作有 set()、get()、has()、delete()、clear(),下面我们逐一进行介绍:
set(key, value)
向 Map 中添加键值对,如果 key 已经存在,会更新对应的 value 值。
const map = new Map(); map.set('a', 'Apple'); map.set('b', 'Banana'); map.set('c', 'Cherry');
get(key)
根据键获取对应的值,如果 key 不存在,返回 undefined。
map.get('a'); // "Apple" map.get('d'); // undefined
has(key)
判断 Map 中是否存在指定键。
map.has('a'); // true map.has('d'); // false
delete(key)
根据键删除对应的键值对。
map.delete('a'); map.has('a'); // false
clear()
清空 Map 中的所有键值对。
map.clear(); map.size; // 0
迭代器
Map 提供了四种迭代器,分别是 keys()、values()、entries()、forEach(),用于遍历 Map 中的键、值、键值对和所有元素。
keys()
返回一个键的迭代器。
const keys = map.keys(); for (const key of keys) { console.log(key); }
values()
返回一个值的迭代器。
const values = map.values(); for (const value of values) { console.log(value); }
entries()
返回一个键值对的迭代器。
const entries = map.entries(); for (const [key, value] of entries) { console.log(`${key}: ${value}`); }
forEach()
遍历所有元素。
map.forEach((value, key) => { console.log(`${key}: ${value}`); });
属性和方法
Map 还提供了一些属性和方法,用于查询和操作 Map 的元素和元素数量。
size
获取 Map 中键值对的数量。
map.size; // 2
keys()
返回一个键的迭代器。
values()
返回一个值的迭代器。
entries()
返回一个键值对的迭代器。
clear()
清空 Map 中的所有键值对。
示例代码
下面是一个简单的 Map 使用示例:
-- -------------------- ---- ------- ----- --- - --- ----- ----- --------- ----- ---------- ----- ---------- --- ------------ ---------- ---------------- ------------------- ---- -- - -------------------- ----------- --- ----- ------- - -------------- --- ------ ----- ------ -- -------- - -------------------- ----------- -
Set 的使用方法
Set 是一种不重复的数据集合。Set 中的元素可以是任何类型的数据。Set 的主要操作有 add()、has()、delete()、clear(),下面我们逐一进行介绍:
add(value)
向 Set 中添加元素,如果元素已经存在,不会重复添加。
const set = new Set(); set.add('a'); set.add('b'); set.add('c');
has(value)
判断 Set 中是否存在指定的元素。
set.has('a'); // true set.has('d'); // false
delete(value)
删除 Set 中指定的元素。
set.delete('a'); set.has('a'); // false
clear()
清空 Set 中的所有元素。
set.clear(); set.size; // 0
迭代器
Set 提供了两种迭代器,分别是 values()、forEach(),用于遍历 Set 中的元素。
values()
返回一个值的迭代器。
const values = set.values(); for (const value of values) { console.log(value); }
forEach()
遍历所有元素。
set.forEach(value => { console.log(value); });
属性和方法
Set 还提供了一些属性和方法,用于查询和操作 Set 的元素和元素数量。
size
获取 Set 中元素的数量。
set.size; // 2
values()
返回一个值的迭代器。
forEach()
遍历所有元素。
clear()
清空 Set 中的所有元素。
示例代码
下面是一个简单的 Set 使用示例:
const set = new Set(['a', 'b', 'c']); set.add('d'); set.delete('c'); set.forEach(value => { console.log(value); });
总结
Map 和 Set 是 ES6 中非常实用的数据结构,可以帮助我们更加高效地存储和操作数据。本文中,我们详细介绍了 Map 和 Set 的使用方法,包括基本操作、迭代器、属性和方法等。希望对你有所帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64509d4f980a9b385b998831