Array & Set
Array 和Set工作方式存在大量的交叉。但使用Set在代码运行速度上比Array更有优势:快速,可扩展
最根本的区别:
数组:数组中的数据值按索引排序,是一个索引集合
set :set不使用索引, 而是使用键对数据排序, 是一个键的集合。set 中的元素按插入顺序是可迭代的,它不能包含任何重复的数据。换句话说,set中的每一项都必须是惟一的。
set 相对于数组有几个优势,特别是在运行时间方面:
查看元素:使用indexOf()或includes()检查数组中的项是否存在是比较慢的。
删除元素:在Set中,可以根据每项的 value 来删除该项。在数组中,等价的方法是使用基于元素的索引的splice()。与前一点一样,依赖于索引的速度很慢。
保存 NaN:不能使用indexOf()或 includes() 来查找值 NaN,而 Set 可以保存此值。
删除重复项:Set对象只存储惟一的值,如果不想有重复项存在,相对于数组的一个显著优势,因为数组需要额外的代码来处理重复。
复制代码