【问题标题】:Loop count for loops循环的循环计数
【发布时间】:2016-11-07 15:05:13
【问题描述】:

在临时变量中包含循环计数有什么好处。就像它不需要每次通过循环的执行来获取计数值。

var iCount = iArray.length, jCount = jArray.length;
for(var i=0; i<iCount; i++){
  for(var j=0; j<jCount; j++) {
    ...
  }
}

上面的例子显示了数组,但它不一定是数组,它也可以是像myObject.total中的类。

【问题讨论】:

标签: loops optimization


【解决方案1】:

如前所述,编译器必须为每次迭代查找长度。

样本


var arr = [1,2,3,4,5];
var result=[];

function getLength(){
  console.log('check Length');
  return arr.length
}

for (var a = 0; a < getLength(); a++){
  result.push(arr[a]);
}

保存在临时变量中的长度

var arr = [1,2,3,4,5];
var result=[];

function getLength(){
  console.log('check Length');
  return arr.length
}
var length = getLength()
for (var a = 0; a < length; a++){
  result.push(arr[a]);
}

另外,如果你在操作同一个数组,可能会导致一些问题

var arr = [1,2,3,4,5];

for (var a = 0; a < arr.length; a++){
  console.log(arr.splice(a,1))
}

临时变量的长度

var arr = [1,2,3,4,5];

var length = arr.length
for (var a = 0; a < length; a++){
  console.log(arr.splice(a,1))
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    • 2021-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多