在 ES6 中,我们引入了两个新的数据结构:Map 和 Set。这两个类似于对象和数组,但是有一些更高级的功能,可以帮助我们更好地处理数据。
Map
Map 是一种键值对集合,它的键可以是任意数据类型,而值也可以是任意数据类型。Map 的好处是可以使用任何值作为键,而不仅仅是字符串或者数字,而且易于添加、更新或删除元素。
创建 Map 对象
let map = new Map(); map.set('key1', 'value1'); map.set('key2', 'value2');
获取 Map 对象大小
map.size; // 2
操作 Map 对象
map.get('key1'); // 'value1' map.has('key1'); // true map.delete('key1'); map.has('key1'); // false map.set('key2', 'value3'); map.clear(); map.size; // 0
遍历 Map 对象
-- -------------------- ---- ------- --- --- - --- ----- -------- ---------- -------- ---------- --- ------- ----- ------ -- --------------- ----------------- ------------------- - ------------------- ---- -- - ----------------- ------------------- ---展开代码
Set
Set 是一种无序不重复元素集合,它的元素可以是任何类型,一般用于数组去重。
创建 Set 对象
let set = new Set(); set.add(1); set.add(2); set.add(2); set.add('hello');
获取 Set 对象大小
set.size; // 3
操作 Set 对象
set.has(1); // true set.has(3); // false set.delete(2); set.add('world'); set.clear(); set.size; // 0
遍历 Set 对象
let set = new Set([1, 2, 3]); for(let value of set){ console.log(value); } set.forEach((value, valueAgain, set) => { console.log(value); });
总结
Map 和 Set 提供了一些高级特性,帮助我们更好地处理数据。它们可以让我们更高效地查找、添加、更新和删除元素。当我们需要处理数据时,可以考虑使用 Map 和 Set,以便更好地实现所需的功能。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/647462c6968c7c53b01c3a45