我一直在 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/