我想通過將它們推入某些集合來關注「哪些對象已被處理」。
由於沒有類型設置在JavaScript中,我會使用對象,就像在Mimicking sets in JavaScript?
陳述因此問題是:做到這一點字典檢查依賴的對象的大寫金額已經被推到我的Set對象?是O(N)還是O(1)?對象的速度[屬性]
回答
回答因JS引擎而異,當然。關於V8,檢查速度取決於對象的數量(==「設置」對象屬性計數),但它仍然是O(1)。否則,沒有相當多的Web應用程序可以快速運行。
關於您引用的SO問題,請勿使用if ("foo" in A)
檢查元素的存在,如果可能的話 - 這將遍歷整個原型鏈,因此您將獲得性能影響,並且很可能找到許多不應該在那裏(如toString
)。儘可能使用A.hasOwnProperty("foo")
。
關於你引用的SO問題,如果可能的話,不要使用'if(「foo」in A)'來檢查元素的存在 - 這將遍歷整個原型鏈,所以你會得到一個性能影響,最有可能找到很多不應該存在的對象(比如'toString')。儘可能使用'A.hasOwnProperty(「foo」)'。 – 2012-04-03 11:27:08
您可以將您的評論推薦給答案)看起來人們覺得它比第一部分更有用。 – Nakilon 2012-04-03 11:31:33
@Nakilon:完成,謝謝 – 2012-04-03 12:39:21
- 1. 速度模板中對象的列表屬性
- 2. Box2D對象速度
- 3. 以相同長度表示的對象屬性以加快閱讀速度
- 4. 重寫對象的長度屬性
- 5. 對象屬性的深度過濾器
- 6. swift 3 SKAction速度屬性
- 7. MissingMemberException:'Guid'對象沒有'長度'屬性
- 8. 對象的屬性
- 9. 對象的屬性'$'
- 10. 針對對象屬性的角度一次性綁定
- 11. 對象屬性
- 12. 對象屬性
- 13. 對象屬性
- 14. 對象屬性
- 15. 驗證ActiveRecord屬性長度deppending在其他對象屬性
- 16. 速度報告對象
- 17. 試圖獲取對象屬性中的對象的屬性
- 18. 返回屬性對象的類屬性
- 19. ActionScript設置來自其他對象屬性的對象屬性?
- 20. D3:無效屬性[對象的對象]
- 21. 從屬javascript對象屬性
- 22. javascript對象屬性
- 23. Angularjs對象屬性
- 24. EVAL對象屬性
- 25. 把對象屬性
- 26. JSON對象屬性
- 27. Call對象屬性
- 28. 使用Redux減速器更新對象的深層屬性
- 29. 更新減速器中的對象屬性,無突變
- 30. 迅速檢查對象的屬性存在
jsperf.com將會找到這個地方 – tkone 2012-04-03 11:25:46
你可以[創建一個jsPerf測試用例](http://jsperf.com/)來測量瀏覽器和設備之間的速度差異。 – 2012-04-03 11:25:50