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