成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Set.has 和 Array.includes 到底應該用哪個?

開發 前端
查找操作(includes())在Array中是O(n),即線性時間復雜度,因為 JavaScript 中的數組是基于索引的線性結構。數組需要遍歷每個元素,直到找到目標元素,如果你頻繁需要檢查元素是否存在,Array在性能上可能不如Set。

我們平時在 JavaScript 的開發中,我們會遇到一些需求:檢測集合中是否包含了某一個元素,我們會使用兩種方式:

  • Set.prototype.has()
  • Array.prototype.includes()

對于這兩種方式,其實都能完成我們的需求,但是其實這兩種方式是有差異的,那就是性能差異

接下來我們可以先來看看 Set 和 Array 在查找元素的時候,方式到底有哪些區別

  • Set: 查找操作(has())在Set中通常是O(1),即常數時間復雜度。這是因為Set是基于哈希表實現的,它能夠快速判斷元素是否已經存在,當你需要頻繁檢查某個元素是否存在時,Set提供了更優的性能
  • Array: 查找操作(includes())在Array中是O(n),即線性時間復雜度,因為 JavaScript 中的數組是基于索引的線性結構。數組需要遍歷每個元素,直到找到目標元素,如果你頻繁需要檢查元素是否存在,Array在性能上可能不如Set

小數據場景

如果我們的集合比較小的時候,使用 Set.prototype.has() 或 Array.prototype.includes() 會有什么性能上的差異呢?我們可以來測一測

圖片圖片

我們將這兩個代碼放到測試平臺上測:https://bestcodes.dev/projects/codeperf

可以發現,當集合數據量比較小的時候,沒有什么明顯的數據差異,但是可以看出 Set.prototype.has() 的性能領先了一丟丟

圖片圖片

大數據場景

現在我們來進行大數據的場景,就把數據量加大到 1000000 個元素

圖片圖片

可以看出 Set.prototype.has() 性能更好

圖片圖片

責任編輯:武曉燕 來源: 前端之神
相關推薦

2024-07-10 10:54:44

2023-11-24 08:17:38

金額類型存儲

2018-07-10 16:05:05

2021-07-01 16:45:17

PyTorchTensorflow 機器學習

2015-11-05 09:26:34

Fedora發行版Linux

2024-08-05 01:22:16

2014-12-05 09:49:18

2022-05-06 08:00:00

APIBallerina編程語言

2022-09-13 07:31:50

工具代碼Lombok

2017-03-02 14:52:46

2022-07-06 09:29:40

JMH性能測試

2019-07-27 09:40:56

MySQLPG數據庫

2023-05-28 13:03:46

BeegoGin設計

2021-03-04 09:11:57

日志開發打印

2023-01-18 08:25:23

數據庫存儲類型

2021-03-15 09:00:00

開發JavaKotlin

2010-06-13 09:31:45

WindowsLinux服務器操作系統

2020-11-18 09:48:09

Synchronize多線程Java

2020-12-09 18:36:28

ObjectArrayJavaSc

2024-11-19 08:10:00

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人在线免费观看 | 九九热在线免费观看 | 亚洲成人av在线播放 | 人人看人人射 | 亚洲成人第一页 | 久久男人 | 欧美久久久久久 | 毛片99| 97超碰人人草 | 欧美一区二区在线观看 | www.欧美.com| 欧美色性 | 91资源在线| 亚洲欧美日韩在线 | 日韩在线大片 | 国产一区二区在线视频 | 亚州一区二区三区 | 国产97人人超碰caoprom | 视频在线一区二区 | 日日碰碰 | 欧美日韩精品一区 | 一区二区三区亚洲 | 亚洲一区二区三区在线播放 | 亚洲一区精品在线 | 国产精品亚洲综合 | 51ⅴ精品国产91久久久久久 | 亚洲视频在线观看 | 国产一区二区在线播放视频 | 日本一级淫片免费啪啪3 | 在线观看国产三级 | 久久久久一区二区 | 久久99精品久久久 | 国产精品久久久久久久久久久免费看 | 91精品国产综合久久久久 | 欧日韩不卡在线视频 | 日本精品一区二区三区视频 | 中文字幕精品一区 | 久久小视频 | 亚洲精品自在在线观看 | 中文字幕第一页在线 | 精品国产色 |