javascript - 函数中的 if-else 语句如何工作?

标签 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;
}

为什么 temp = []else block 的末尾?

最佳答案

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


在 if block 中,arr[a] 元素被压入 temp 数组的末尾。

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

不能说更多,因为您的问题中没有写入数据或上下文。希望这已经回答了您的问题。

关于javascript - 函数中的 if-else 语句如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52557074/

相关文章:

javascript - 为什么 document.ready 在这种情况下不起作用?

javascript - 未捕获的语法错误 : Unexpected token : Can't resolve

javascript - 如何在React-Native Webview的injectedJavaScript prop中使用RegExp?

Javascript : DataTables.net,用延迟加载替换分页

javascript - 如何修复刷新时的点击事件监听器需要双击才能工作

javascript - AngularJS:将算术运算符传递给 ng-value

javascript - 使用 immutable.js 合并两条不匹配的数据?

javascript - 使选择组件多选下拉列表保持打开状态

javascript - 使用媒体查询覆盖 JavaScript 样式

javascript - 将电子邮件数据绑定(bind)到 mailto 链接 json