首页 文章

javascript while循环,正数作为条件给出

提问于
浏览
0

我知道在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 )和 push 将其分配给newArr,以我需要的方式返回 newArr .

如何评估条件 arr.length ?我的假设是,只要它不为零,即只有非零数,它就会评估为真,尽管它不是i <2之类的比较 .

这个练习来自freeCodeCamp:Chunky Monkey

3 回答

  • 0

    是的

    是的,你是绝对正确的,它评估为真,而 arr 有一个长度,因为 arr.length> 0 所以被认为是真的 . 它是 javascript 的一个简洁功能,但它不具有可读性(如您所见),因此可能会让任何不习惯它的人感到困惑 . 但是,如果你自己编码,这是一个聪明的小功能!

  • 1
    • 任何非 0 的数字的计算结果为 true .

    • 0 评估为 false .

    所以,你的代码将一直运行,直到 arr.length 等于 0 - 它与 while (arr.length!=0) 相同

  • 0

    如果你正在评估数组的长度属性,那么直到数组不为空(长度不为0)才会成立 . 当数组为空(长度为0)时,评估将返回false .

相关问题