1
A
回答
4
我寫了下面的測試程序:
var array:Array = [];
var start:int = getTimer();
for (var index:int = 0; index < 10000; index++)
{
array.push(4);
array = [];
//array.length = 0;
}
var end:int = getTimer();
trace (end - start);
使用。長度= 0報告10毫秒。使用array = []報告21毫秒。顯然,做.length = 0要快得多。此外,執行array = []可能會導致更早/更頻繁的垃圾回收,因爲它可能會執行堆分配。垃圾收集會在稍後減慢應用程序的速度。
.length = 0由於多種原因而獲勝。
+0
謝謝,相當清晰的答案。 – tony 2011-06-16 16:50:01
相關問題
- 1. 陣列清理方法中的錯誤
- 2. 洗牌清單或隨機生成清單會更快嗎?
- 3. 在AS3中清空矢量或陣列的最佳方法是什麼?
- 4. 將Objective-C中的混洗陣列方法轉換爲Swift(iOS)
- 5. 洗牌陣列的最佳算法
- 6. 陣列或陣列的加權混洗?
- 7. 洗牌陣列javascript
- 8. 陣列洗牌java
- 9. Ember.js洗牌陣列
- 10. 重建numpy的陣列,需要更快的方法
- 11. AS3 - 比較BitmapDatas,最快的方法?
- 12. 有更快的方法來檢查使用AS3的BitmapData.getPixel32()嗎?
- 13. setImageResource洗牌卡陣列
- 14. 陣列洗牌不工作
- 15. 洗牌出從陣列
- 16. 混洗陣列一後
- 17. 洗牌陣列在PHP
- 18. 矩陣反演中最快的方法
- 19. JavaScript中的快速方式用新值更新現有陣列
- 20. 更快的方法來分開列表
- 21. Python更快的方法做排列
- 22. 無法清空JS陣列
- 23. 插槽清洗
- 24. 陣列中的方法
- 25. 更快的方法來生成協方差矩陣
- 26. 在Android中洗牌陣列圖像
- 27. AS3 - 可拖動方塊從陣列
- 28. MongoDB的query.update方法不更新陣列
- 29. 陣列的未定義方法`更新'
- 30. AS3併發陣列
如果你需要經常這樣做(它們本身很小),速度差異實際上會變得很明顯,你可以做一些非常錯誤的事情。甚至忽略了這一點,我敢打賭,有十幾個地方可以進行更多的優化(如在很多數量級上)。 – delnan 2011-06-16 16:33:01
我猜想第二個選項,因爲第一個是實例化。 – RIAstar 2011-06-16 16:34:25
在第一個中,你實際上是在創建一個新的數組並將其分配給myArray變量。在第二個中,您正在重置長度 – divillysausages 2011-06-16 16:39:43