全文共4271字,预计学习时长11分钟
图源:unsplash
许多年来,程序员们一直使用Object和Array来存储数据,这种趋势不仅仅局限于JavaScript。除了这两个选项外,没有其他选择来存储多个值和处理数据结构。然而,在使用Object和Array时有几个限制,例如:
· Array可以存储重复的元素。
· 没有像Array那样找到Object长度的方法。
· 只有字符串可以存储在Object中,不记插入顺序。
· 开发人员必须根据用例选择数组或对象。
· 像Lodash这样的第三方库被用来增强数组的功能。
随着2015年ES6的发布,情况开始好转。ES6引入了对Map和Set的支持,旨在克服上述限制。
什么是Set和Map?
如前所述,这两个功能都是在JavaScript的ES6版本中引入的。Set是唯一元素的有序集合。“唯一元素”是最重要的,因为它意味着一个Set中不能存储重复的元素。但是它没有键-值对系统。
Map是Array和Object数据结构的组合。它像Object一样是键-值对的Set,但它也记住插入格式,并具有length(.size)属性。
· Set的声明和初始化:一个集合可以像这样初始化。
const set = new Set();
· 从Set中添加和删除元素:你可以使用.add()方法轻松地将元素插入到集合中。
const set = new Set();set.add('John');set.add('Martha')set.add('Bryan');set.add('John');//set = {'John','Martha','Bryan'}
JavaScript中的Set借用了很多数学集合的属性,并且只包含唯一的元素。删除元素也非常简单,使用.delete()方法删除单个元素,或使用.clear()方法删除所有元素。
set.add('John');set.add('Martha