在速度至關重要的應用程序上工作,陣列是巨大的和數組中包含的對象。Javascript最快的方式從數組中刪除對象
我嘗試用grep
和filter
,不能看到顯著速度差,變化+ - 5ms的,還試圖通過陣列循環和使用.splice(i,1);
(相同的結果)。
我有一臺快速的機器,如果它在快速機器上總是或多或少需要相同的時間,這是否意味着它將在舊機器上花費更多或更少的時間?
有更快的方法從數組中刪除對象嗎?
想要做這樣的事情:
,然後存儲在cookie中的差異,所以下一次加載頁面或刷新,執行最有效的方法:從數組刪除對象。
UPDATE
過濾實驗的片段
companyMasters = companyMasters.filter(function (obj) {
return obj.masterId != CompanyObj.masterId;
});
大約有多少元素被你刪除與數組大小成正比? – twinlakes
如果您使用的是grep&filter,那麼在這裏有更多的排列,而不僅僅是從數組中刪除一個對象。你應該把你的用例放進http:// jsperf。com和在多臺機器上測試 – CodingIntrigue
@twinlakes我正在刪除一個數組中的對象,長度小於10 000,但它可能變得更大 – Jack