繁体   English   中英

javascript while循环,以正数为条件

[英]javascript while loop, positive number given as a condition

我知道在javascript中1评估为true ,而0评估为false

我的问题是关于javascript中的while循环,其格式如下:

while (condition) {
code block to be executed
}

如果我将一个整数作为while循环的条件,那么代码如何工作? 更具体地说,这是发布此问题之前我正在处理的代码:

function chunkArrayInGroups(arr, size) {
  var newArr = [];
  while (arr.length) {
    newArr.push(arr.splice(0,size));
  }
  return newArr;
 }

chunkArrayInGroups([0, 1, 2, 3, 4, 5], 2);

它似乎工作得很好,通过将原始数组( arr )除以所需的时间量( size )并将其 送到newArr ,以我需要的方式返回newArr。

条件arr.length如何评估? 我的假设是,即使它不是i <2之类的比较,只要它不为零(即非零数字),它的评估结果就为true。

此练习来自freeCodeCamp:“ 矮胖的猴子”

  • 任何非0数字都将计算为true
  • 0计算为false

因此,您的代码将一直运行到arr.length等于0为止-与说while (arr.length!=0)

如果您要评估数组的length属性,则在数组不为空(length不为0)之前,它都是正确的。 当数组为空(长度为0)时,评估将返回false。

是的,您绝对正确,因为arr.length > 0所以当arr具有长度时,它的评估结果为true,因此认为它是正确的。 它是javascript一个很好的功能,但是可读性不强(如您所见),因此可能会使任何不习惯它的人感到困惑。 但是,如果您要为自己编码,那么这是一个聪明的小功能!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM