簡體   English   中英

在JavaScript中找到最接近所需值的數組條目?

[英]Finding array entry closest to required value, in Javascript?

我有一個對象數組,每個對象都有一個“時間”屬性。 該數組已按時間排序。 我現在想找到條目idx,例如:

  findIdx(time): return idx where idx <= time < idx+1

雖然我可以遍歷條目並在找到相應條目后立即返回,但我擔心這在我的用例中會很繁重。 用例正在通過視頻進行清理,因此在該操作期間,列表可能會經常循環瀏覽。

我目前的想法是創建時間越來越精確的樹,這樣我就可以通過僅查詢適當的范圍來減少遍歷列表的次數。

我可能想得太多了,但是任何見識都會受到贊賞。

正如我在評論中所說,如果對數組進行排序,則可以使用二進制搜索來降低CPU成本。

第二個優點為二進制搜索算法是,如果該值不是數組中包含的,你也知道它在,使得插入(和維護陣列的有序性質)易於什么指數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM