函数内部的if-else语句如何工作?

Pet*_*ach 4 javascript

我一直在完成对FreeCodeCamp的挑战,偶然发现了这个算法的解决方案.无法理解if else语句如何在这里工作.

function chunkArrayInGroups(arr, size) {

  var temp = [];
  var result = [];

  for (var a = 0; a < arr.length; a++) {
    if (a % size !== size - 1)
      temp.push(arr[a]);
    else {
      temp.push(arr[a]);
      result.push(temp);
      temp = [];
    }
  }

  if (temp.length !== 0)
    result.push(temp);

  return result;
}
Run Code Online (Sandbox Code Playgroud)

为什么temp = []else街区尽头?

Pac*_*ac0 6

temp = []表示"将temp变量重置为空数组"


在if块中,arr[a]元素在temp数组的末尾被推送.

在else块中,同样的情况发生并且整个当前temp数组被添加到大result数组数组的末尾,并且temp数组被重置为空数组.

由于您的问题中没有写入数据或上下文,因此不能多说.希望这已经回答了你的问题.