0
以下是我的代碼,它正在花費時間在for
循環中從一個對象提取數據並填充另一個對象。有什麼辦法可以減少執行時間嗎?我嘗試了while
循環,但它沒有太大的幫助。好心幫每頁如何減少JavaScript代碼的執行時間
function SetGridWithData(result) {
if (!result) {
return;
}
CtrlBillableItem_SearhedBillableItems = result
var boxOfJson = [];
var j = 100;
if (result.length >= 100) {
if (PagingLastRecNum == 0) {
btnPrevious.style.display = 'none';
for (var i = 0; i < j; i++) {
boxOfJson.push(result[i]);
}
} else {
btnPrevious.style.display = 'inline';
var intializer = (j * PagingLastRecNum) + PagingLastRecNum;
var limiter = intializer + 99;
for (var i = intializer; i < limiter; i++) {
boxOfJson.push(result[i]);
}
}
} else {
btnPrevious.style.display = 'none';
btnNext.style.display = 'none';
for (var i = 0; i < result.length; i++) {
boxOfJson.push(result[i]);
}
}
}
我想實現其做分頁,但100的數據首先它會檢查頁面沒有0,如果是則一環,如果大於0比其他案件等。
你可以試試[片段](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/slice)可以一次性獲取數組的子部分,而不是推入一個新的數組中,這可能涉及數組的增長時重新分配和擴展。但我懷疑即使這100個元素會很慢。 – Rup
另外,因爲你使用'我<限制器'而不是'我<=限制器'你可能想再次添加100,而不是99. – Rup
對不起,我沒有得到最後的評論你能解釋我多一點任何錯誤,我的意思是它會取下一百總是正確的? – Tanmay