JavaScript:如何通过布尔值操作的When循环创建无限循环?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (41)

以下是我使用的代码:

let appendNums = ['8','2','8','14'], //for testing purposes
    carryCheck = true,
    incAmount  = 0;

incAmount = appendNums.length - 1;

while(carryCheck){
  let currentNum = appendNums[incAmount];

  if(currentNum.length > 1){
    let numSplitter = currentNum.split(''),
        equation    = Number(appendNums[incAmount - 1]) + Number(numSplitter[0]);

    appendNums[incAmount]     = numSplitter[1];
    appendNums[incAmount - 1] = equation.toString();
    incAmount                 = incAmount - 1;
  }
  else{ carryCheck = false; break; }
}
提问于
用户回答回答于

Number(appendNums[incAmount - 1]) + Number(numSplitter[0])NaN在某些时候返回,因为没有检查数组边界。通过使用equation.toString()并插入appendNums[incAmount -1],currentNum将始终是"NaN"下一次迭代中的字符串。由于字符串“NaN”的长度为3,currentNum.length > 1因此始终为真

扫码关注云+社区

领取腾讯云代金券