文章预览
前言 大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心~ 我们平时在 JavaScript 的开发中,我们会遇到一些需求: 检测集合中是否包含了某一个元素 ,我们会使用两种方式: Set.prototype.has() Array.prototype.includes() 对于这两种方式,其实都能完成我们的需求,但是其实这两种方式是有差异的,那就是 性能差异 接下来我们可以先来看看 Set 和 Array 在查找元素的时候,方式到底有哪些区别 Set: 查找操作 (has()) 在 Set 中通常是 O(1) ,即常数时间复杂度。这是因为 Set 是基于哈希表实现的,它能够快速判断元素是否已经存在,当你需要频繁检查某个元素是否存在时, Set 提供了更优的性能 Array: 查找操作 (includes()) 在 Array 中是 O(n) ,即线性时间复杂度,因为 JavaScript 中的数组是基于索引的线性
………………………………