方法1使用包含对象的数组,我想获取具有特定ID的对象。第二种方法是使用地图,其中在“ id”键处创建对象。
从数组获取对象
array.findIndex((x) => x.id == id)
从地图上获取对象很简单
Map.get(id)
我想知道哪种方法更快更好
大O表示法是指算法要花多长时间来执行,具体取决于输入的时间长短,并且通常讨论不利的案例情况。
当使用时array.findIndex((x) => x.id == id)
,这意味着应该在最坏的情况下迭代整个数组array.length
。因此,此方法的复杂度为O(n)
。
当您使用时Map.get(id)
,这意味着将计算哈希,然后hash
我们可以转到中的所需项Map
。因此,此方法的复杂度为O(1)
。它更快。
更新:
另一方面,地图当然要占用额外的空间和处理空间。因此,如果您只想查找一两个项目,则可能不值得。但是,如果您有很多查找,那么它将在速度方面带来巨大的好处。只是把它扔在那里。我个人选择地图。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句