寫在前面
此系列來源于開源項目:前端 100 問:能搞懂 80%的請把簡歷給我
為了備戰 2021 春招
每天一題,督促自己
從多方面多角度總結答案,豐富知識
數組里面有10萬個數據,取第一個元素和第10萬個元素的時間相差多少
簡書整合地址:前端 100 問
正文回答
數組可以直接根據索引取的對應的元素,所以不管取哪個位置的元素的時間復雜度都是 O(1)
得出結論:消耗時間幾乎一致,差異可以忽略不計
JavaScript 沒有真正意義上的數組,所有的數組其實是對象,其“索引”看起來是數字,其實會被轉換成字符串,作為屬性名(對象的 key)來使用。所以無論是取第 1 個還是取第 10 萬個元素,都是用 key 精確查找哈希表的過程,其消耗時間大致相同。